Informatii despre interogarile active de pe un server Microsoft SQL

Configurare noua (How To)

Situatie

Mai jos este o procedura ce returneaza pentru un server Microsoft SQL informatii detaliate despre toate interogarile active.

Solutie

create procedure RunningQuery
as
SELECT
        [Spid] = [er]. [session_Id] ,
        [Database] = DB_NAME ([sp]. [dbid]) ,
        [User] = [sp]. [nt_username] ,
        [Status] = [er]. [status] ,
        [er] .[Start_time] ,
        [er] .[Cpu_time] ,
        [er] .[Total_elapsed_time],
        [Query] = SUBSTRING ([qt]. [text], [er].[statement_start_offset]/ 2,
                                       ( CASE WHEN [er].[statement_end_offset]=- 1
                                              THEN LEN (CONVERT( NVARCHAR(MAX ), [qt].[text]))
                                                   *2
                                              ELSE [er]. [statement_end_offset]
                                          END-[er] .[statement_start_offset] )/2) ,
        [Parent Query] = [qt]. [text] ,
        Program = [sp]. [program_name] ,
        [er] .[Command] ,
        [sp] .[Hostname] ,
        [sp] .[Nt_domain]
     FROM
    [sys] .[dm_exec_requests] er
    INNER JOIN [sys].[sysprocesses] sp ON  [er]. [session_id]=[sp] .[spid]
    CROSS APPLY [sys].[dm_exec_sql_text] ([er]. [sql_handle]) AS qt
    WHERE
        [er] .[session_Id]> 50
        AND [er]. [session_Id] NOT IN ( @@SPID )
    ORDER BY [er].[session_Id] ,[sp]. [ecid]

Tip solutie

Permanent
Etichetare:

Voteaza

(12 din 17 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?