Home >Database >Mysql Tutorial >得到SQLServer当前运行的语句

得到SQLServer当前运行的语句

WBOY
WBOYOriginal
2016-06-07 15:35:021233browse

SELECT [Spid] = session_Id , ecid , [Database] = DB_NAME ( sp . dbid ) , [User] = nt_username , [Status] = er . status , [Wait] = wait_type , [Individual Query] = SUBSTRING ( qt . text , er . statement_start_offset / 2 , ( CASE WHEN er . s

SELECT [Spid] = session_Id

    , ecid

    , [Database] = DB_NAME(sp.dbid)

    , [User] = nt_username

    , [Status] = er.status

    , [Wait] = wait_type

    , [Individual 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 = program_name

    , Hostname

    , nt_domain

    , start_time

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 session_Id > 50 -- Ignore system spids.

AND session_Id NOT IN(@@SPID) -- Ignore this current statement.

ORDER BY 1, 2

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn