Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Liệt kê các truy vấn đang chạy trên SQL Server

Điều này sẽ hiển thị cho bạn SPID đang chạy lâu nhất trên máy chủ SQL 2000 hoặc SQL 2005:

select
    P.spid
,   right(convert(varchar, 
            dateadd(ms, datediff(ms, P.last_batch, getdate()), '1900-01-01'), 
            121), 12) as 'batch_duration'
,   P.program_name
,   P.hostname
,   P.loginame
from master.dbo.sysprocesses P
where P.spid > 50
and      P.status not in ('background', 'sleeping')
and      P.cmd not in ('AWAITING COMMAND'
                    ,'MIRROR HANDLER'
                    ,'LAZY WRITER'
                    ,'CHECKPOINT SLEEP'
                    ,'RA MANAGER')
order by batch_duration desc

Nếu bạn cần thấy SQL đang chạy cho một spid nhất định từ kết quả, hãy sử dụng một cái gì đó như sau:

declare
    @spid int
,   @stmt_start int
,   @stmt_end int
,   @sql_handle binary(20)

set @spid = XXX -- Fill this in

select  top 1
    @sql_handle = sql_handle
,   @stmt_start = case stmt_start when 0 then 0 else stmt_start / 2 end
,   @stmt_end = case stmt_end when -1 then -1 else stmt_end / 2 end
from    sys.sysprocesses
where   spid = @spid
order by ecid

SELECT
    SUBSTRING(  text,
            COALESCE(NULLIF(@stmt_start, 0), 1),
            CASE @stmt_end
                WHEN -1
                    THEN DATALENGTH(text)
                ELSE
                    (@stmt_end - @stmt_start)
                END
        )
FROM ::fn_get_sql(@sql_handle)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi nghiêm trọng:Gọi đến hàm không xác định sqlsrv_connect () trong C:\ xampp \ htdocs

  2. SQL Server Lock Escalation

  3. Tôi có thể có khóa ngoại tham chiếu đến một cột trong dạng xem trong SQL Server không?

  4. Cập nhật truy vấn bằng Truy vấn con trong Máy chủ Sql

  5. Truy xuất dữ liệu từ quy trình được lưu trữ có nhiều bộ kết quả