web-dev-qa-db-ja.com

SQL Server Profilerを実行しているユーザーを追跡することはできますか?

特定のデータベースに対して、場合によってはどのマシンからSQL Server Profilerを実行しているのかを確認することはできますか?プロファイラー自体またはT-SQLステートメントを使用して言います。

プロファイラーが実行されているActiveDirectlyユーザー名を見つけることさえ可能かどうか疑問に思います。


[UPDATE]参考として、SQLServerプロファイルプロセスのみを取得する方法を次に示します。

declare @sp_who2 table (
    SPID    int,
    status  varchar(50),
    login   varchar(100),
    HostName    varchar(100),
    BlkBy   varchar(100),
    DBName  varchar(100),
    Command varchar(100),
    CPUTime int,
    DiskIO  int,
    LastBatch   varchar(50),
    ProgramName varchar(150),
    SPID2   int,
    REQUESTID   int
)
insert  @sp_who2
exec sp_who2

select  *
from    @sp_who2
where   ProgramName like 'SQL Server Profiler - %'
2
Sung M. Kim

Execute

sp_who2

ProgramName列を見ると、SQL ServerProfilerのようなものが表示されます-362b6154-2d69-4ce0-987b-2573bed3ce45。そのクエリから、ユーザー名とホスト名を定義できます。

7
Bogdan_Ch

sQLプロファイラーを使用して、アプリケーション名「SQL Server Profiler - {guid}」から既存の接続イベントとログインイベントを探します。ここで、{guid}は実行によって異なります(デフォルトでは、SQLプロファイラーの実行は独自のアプリケーション名に基づいて自身を除外します。

2
Richard