PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Hébergement serveur > ms.sqlserver.server > query to find long running query
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
query to find long running query

Réponse
 
LinkBack Outils de la discussion
Vieux 15/05/2008, 15h25   #1
Jack
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut query to find long running query

I want to write a query that will tell me if there are queries that are
still running and are past 20 mins since it came in ? How can I do so ?
I am using SQL 2000. If i can have one for 2005, that would be fine too.

Thank you.

  Réponse avec citation
Vieux 15/05/2008, 15h34   #2
Linchi Shea
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut RE: query to find long running query

With SQL2000, you'd be better off obtaining that info with a SQL trace.

Linchi

"Jack" wrote:

> I want to write a query that will tell me if there are queries that are
> still running and are past 20 mins since it came in ? How can I do so ?
> I am using SQL 2000. If i can have one for 2005, that would be fine too.
>
> Thank you.
>
>

  Réponse avec citation
Vieux 16/05/2008, 02h19   #3
Jack
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: query to find long running query

Is there no query using sysprocesses or DMVs in SQL 2000/2005 that i can
write ? I want to raise an alert if queries are running for past 20 mins.

"Linchi Shea" <LinchiShea@discussions.microsoft.com> wrote in message
news:285BC385-3DF7-430C-B291-579C0EDCFE59@microsoft.com...
> With SQL2000, you'd be better off obtaining that info with a SQL trace.
>
> Linchi
>
> "Jack" wrote:
>
>> I want to write a query that will tell me if there are queries that are
>> still running and are past 20 mins since it came in ? How can I do so ?
>> I am using SQL 2000. If i can have one for 2005, that would be fine too.
>>
>> Thank you.
>>
>>


  Réponse avec citation
Vieux 16/05/2008, 19h46   #4
manu
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: query to find long running query

Try this code and schedule it as a job:--

SET NOCOUNT ON
Drop TABLE #job_execution_state
CREATE TABLE #job_execution_state (spid int NOT NULL,
cmd sysname COLLATE
database_default NULL,
hostname sysname COLLATE
database_default NULL,
waittime INT NOT NULL,
dbid INT NOT NULL,
uid INT NOT NULL,
Status sysname COLLATE
database_default NULL,
loginame sysname COLLATE
database_default NULL)
Insert into #job_execution_state
select spid,cmd,hostname,waittime,dbid,uid,status,loginam e from
master..sysprocesses where waittime>1200000--Specify time in milliseconds here
and spid>50

if exists (Select * from #job_execution_state)

begin
EXEC xp_cmdshell 'Net Send Machinename One or more processes are running for
more than 20 minutes'
end

Manu Jaidka

"Jack" wrote:

> Is there no query using sysprocesses or DMVs in SQL 2000/2005 that i can
> write ? I want to raise an alert if queries are running for past 20 mins.
>
> "Linchi Shea" <LinchiShea@discussions.microsoft.com> wrote in message
> news:285BC385-3DF7-430C-B291-579C0EDCFE59@microsoft.com...
> > With SQL2000, you'd be better off obtaining that info with a SQL trace.
> >
> > Linchi
> >
> > "Jack" wrote:
> >
> >> I want to write a query that will tell me if there are queries that are
> >> still running and are past 20 mins since it came in ? How can I do so ?
> >> I am using SQL 2000. If i can have one for 2005, that would be fine too.
> >>
> >> Thank you.
> >>
> >>

>
>

  Réponse avec citation
Vieux 17/05/2008, 01h38   #5
Jack
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: query to find long running query

If a process is running and not waiting for any resource, will waittime
increase as such ?

I would like to know if a query is just running right now and been running
for the last 20 mins and it may not be waiting for anything but just
running.


"manu" <manu@discussions.microsoft.com> wrote in message
news:F1A3D27D-0EF5-4162-91D1-BA0F40887A94@microsoft.com...
> Try this code and schedule it as a job:--
>
> SET NOCOUNT ON
> Drop TABLE #job_execution_state
> CREATE TABLE #job_execution_state (spid int NOT NULL,
> cmd sysname COLLATE
> database_default NULL,
> hostname sysname COLLATE
> database_default NULL,
> waittime INT NOT
> NULL,
> dbid INT NOT
> NULL,
> uid INT NOT
> NULL,
> Status sysname COLLATE
> database_default NULL,
> loginame sysname COLLATE
> database_default NULL)
> Insert into #job_execution_state
> select spid,cmd,hostname,waittime,dbid,uid,status,loginam e from
> master..sysprocesses where waittime>1200000--Specify time in milliseconds
> here
> and spid>50
>
> if exists (Select * from #job_execution_state)
>
> begin
> EXEC xp_cmdshell 'Net Send Machinename One or more processes are running
> for
> more than 20 minutes'
> end
>
> Manu Jaidka
>
> "Jack" wrote:
>
>> Is there no query using sysprocesses or DMVs in SQL 2000/2005 that i can
>> write ? I want to raise an alert if queries are running for past 20 mins.
>>
>> "Linchi Shea" <LinchiShea@discussions.microsoft.com> wrote in message
>> news:285BC385-3DF7-430C-B291-579C0EDCFE59@microsoft.com...
>> > With SQL2000, you'd be better off obtaining that info with a SQL trace.
>> >
>> > Linchi
>> >
>> > "Jack" wrote:
>> >
>> >> I want to write a query that will tell me if there are queries that
>> >> are
>> >> still running and are past 20 mins since it came in ? How can I do so
>> >> ?
>> >> I am using SQL 2000. If i can have one for 2005, that would be fine
>> >> too.
>> >>
>> >> Thank you.
>> >>
>> >>

>>
>>


  Réponse avec citation
Vieux 18/05/2008, 06h16   #6
Uri Dimant
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: query to find long running query

Jack
SELECT TOP 20 SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(qt.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset)/2)+1),
qs.execution_count,
qs.total_logical_reads, qs.last_logical_reads,
qs.min_logical_reads, qs.max_logical_reads,
qs.total_elapsed_time, qs.last_elapsed_time,
qs.min_elapsed_time, qs.max_elapsed_time,
qs.last_execution_time,
qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
WHERE qt.encrypted=0
ORDER BY qs.total_logical_reads DESC

-----------------------------------------------
SELECT session_id, user_id, text
FROM sys.dm_exec_requests AS R
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS ST
WHERE plan_handle IS NOT NULL;





"Jack" <Jackdaniels@hotmail.com> wrote in message
news:OdvVXZ7tIHA.2064@TK2MSFTNGP05.phx.gbl...
> If a process is running and not waiting for any resource, will waittime
> increase as such ?
>
> I would like to know if a query is just running right now and been running
> for the last 20 mins and it may not be waiting for anything but just
> running.
>
>
> "manu" <manu@discussions.microsoft.com> wrote in message
> news:F1A3D27D-0EF5-4162-91D1-BA0F40887A94@microsoft.com...
>> Try this code and schedule it as a job:--
>>
>> SET NOCOUNT ON
>> Drop TABLE #job_execution_state
>> CREATE TABLE #job_execution_state (spid int NOT NULL,
>> cmd sysname COLLATE
>> database_default NULL,
>> hostname sysname COLLATE
>> database_default NULL,
>> waittime INT NOT
>> NULL,
>> dbid INT NOT
>> NULL,
>> uid INT NOT
>> NULL,
>> Status sysname COLLATE
>> database_default NULL,
>> loginame sysname COLLATE
>> database_default NULL)
>> Insert into #job_execution_state
>> select spid,cmd,hostname,waittime,dbid,uid,status,loginam e from
>> master..sysprocesses where waittime>1200000--Specify time in milliseconds
>> here
>> and spid>50
>>
>> if exists (Select * from #job_execution_state)
>>
>> begin
>> EXEC xp_cmdshell 'Net Send Machinename One or more processes are running
>> for
>> more than 20 minutes'
>> end
>>
>> Manu Jaidka
>>
>> "Jack" wrote:
>>
>>> Is there no query using sysprocesses or DMVs in SQL 2000/2005 that i can
>>> write ? I want to raise an alert if queries are running for past 20
>>> mins.
>>>
>>> "Linchi Shea" <LinchiShea@discussions.microsoft.com> wrote in message
>>> news:285BC385-3DF7-430C-B291-579C0EDCFE59@microsoft.com...
>>> > With SQL2000, you'd be better off obtaining that info with a SQL
>>> > trace.
>>> >
>>> > Linchi
>>> >
>>> > "Jack" wrote:
>>> >
>>> >> I want to write a query that will tell me if there are queries that
>>> >> are
>>> >> still running and are past 20 mins since it came in ? How can I do
>>> >> so ?
>>> >> I am using SQL 2000. If i can have one for 2005, that would be fine
>>> >> too.
>>> >>
>>> >> Thank you.
>>> >>
>>> >>
>>>
>>>

>



  Réponse avec citation
Vieux 18/05/2008, 17h33   #7
Jack
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: query to find long running query

For 2000,

Can I do something along the lines of looking at select spid from
sysprocesses where status = 'running' and getdate()-lastbatch >= 20 mins

I dont have QA handy now so the columns names may be incorrect.. but just at
a high level.. will that work ?


"Uri Dimant" <urid@iscar.co.il> wrote in message
news:%23q$lmZKuIHA.3716@TK2MSFTNGP05.phx.gbl...
> Jack
> SELECT TOP 20 SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
> ((CASE qs.statement_end_offset
> WHEN -1 THEN DATALENGTH(qt.text)
> ELSE qs.statement_end_offset
> END - qs.statement_start_offset)/2)+1),
> qs.execution_count,
> qs.total_logical_reads, qs.last_logical_reads,
> qs.min_logical_reads, qs.max_logical_reads,
> qs.total_elapsed_time, qs.last_elapsed_time,
> qs.min_elapsed_time, qs.max_elapsed_time,
> qs.last_execution_time,
> qp.query_plan
> FROM sys.dm_exec_query_stats qs
> CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
> CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
> WHERE qt.encrypted=0
> ORDER BY qs.total_logical_reads DESC
>
> -----------------------------------------------
> SELECT session_id, user_id, text
> FROM sys.dm_exec_requests AS R
> CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS ST
> WHERE plan_handle IS NOT NULL;
>
>
>
>
>
> "Jack" <Jackdaniels@hotmail.com> wrote in message
> news:OdvVXZ7tIHA.2064@TK2MSFTNGP05.phx.gbl...
>> If a process is running and not waiting for any resource, will waittime
>> increase as such ?
>>
>> I would like to know if a query is just running right now and been
>> running for the last 20 mins and it may not be waiting for anything but
>> just running.
>>
>>
>> "manu" <manu@discussions.microsoft.com> wrote in message
>> news:F1A3D27D-0EF5-4162-91D1-BA0F40887A94@microsoft.com...
>>> Try this code and schedule it as a job:--
>>>
>>> SET NOCOUNT ON
>>> Drop TABLE #job_execution_state
>>> CREATE TABLE #job_execution_state (spid int NOT NULL,
>>> cmd sysname
>>> COLLATE
>>> database_default NULL,
>>> hostname sysname
>>> COLLATE
>>> database_default NULL,
>>> waittime INT NOT
>>> NULL,
>>> dbid INT NOT
>>> NULL,
>>> uid INT NOT
>>> NULL,
>>> Status sysname COLLATE
>>> database_default NULL,
>>> loginame sysname COLLATE
>>> database_default NULL)
>>> Insert into #job_execution_state
>>> select spid,cmd,hostname,waittime,dbid,uid,status,loginam e from
>>> master..sysprocesses where waittime>1200000--Specify time in
>>> milliseconds here
>>> and spid>50
>>>
>>> if exists (Select * from #job_execution_state)
>>>
>>> begin
>>> EXEC xp_cmdshell 'Net Send Machinename One or more processes are running
>>> for
>>> more than 20 minutes'
>>> end
>>>
>>> Manu Jaidka
>>>
>>> "Jack" wrote:
>>>
>>>> Is there no query using sysprocesses or DMVs in SQL 2000/2005 that i
>>>> can
>>>> write ? I want to raise an alert if queries are running for past 20
>>>> mins.
>>>>
>>>> "Linchi Shea" <LinchiShea@discussions.microsoft.com> wrote in message
>>>> news:285BC385-3DF7-430C-B291-579C0EDCFE59@microsoft.com...
>>>> > With SQL2000, you'd be better off obtaining that info with a SQL
>>>> > trace.
>>>> >
>>>> > Linchi
>>>> >
>>>> > "Jack" wrote:
>>>> >
>>>> >> I want to write a query that will tell me if there are queries that
>>>> >> are
>>>> >> still running and are past 20 mins since it came in ? How can I do
>>>> >> so ?
>>>> >> I am using SQL 2000. If i can have one for 2005, that would be fine
>>>> >> too.
>>>> >>
>>>> >> Thank you.
>>>> >>
>>>> >>
>>>>
>>>>

>>

>
>


  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 03h13.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,19637 seconds with 15 queries