2013-07-16 61 views
0

哪個查詢顯示SQL Server 2000中某個特定數據庫上的用戶活動?我需要知道的所有用戶都在數據庫中的一個loged,也需要看到這些用戶如何在SQL Server 2000中的特定數據庫上查找用戶活動

FUNCTION [dbo].[Show_my_process] (@SPID INT) 
returns VARCHAR(8000) 
AS 
    BEGIN 
     DECLARE @sql_handle BINARY(20), 
       @handle_found BIT 
     DECLARE @stmt_start INT, 
       @stmt_end INT 
     DECLARE @line  NVARCHAR(4000), 
       @wait_str VARCHAR(8) 
     DECLARE @sql_process AS VARCHAR(8000) 

     SELECT @sql_handle = sql_handle, 
      @stmt_start = stmt_start/2, 
      @stmt_end = CASE 
          WHEN stmt_end = -1 THEN -1 
          ELSE stmt_end/2 
         END 
     FROM master.dbo.sysprocesses 
     WHERE spid = @spid 
      AND ecid = 0 

     SELECT @sql_process = 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) 

     RETURN @sql_process 
    END 

SELECT dbo.SHOW_MY_PROCESS(SPID) 
FROM MASTER.DBO.SYSPROCESSES 
WHERE SPID > 50 

發射的疑問如果我運行此我得到的查詢,但問題是我無法看到查詢由其他用戶運行

回答

2

也許sp_who這是你要找的。

USE master; 
GO 
EXEC sp_who 'active'; 
GO 
+0

但只顯示用戶名 – user1254579

+0

@ user1254579我添加一個exec命令 – Parado

+0

@ user1254579它返回'cmd'列 – Parado

相關問題