SQL Server Profiler の実行に必要な権限
既定では、SQL Server Profiler の実行には、トレースの作成に使用した Transact-SQL ストアド プロシージャと同じユーザー権限が必要です。SQL Server Profiler を実行するには、ユーザーに ALTER TRACE アクセス権を許可する必要があります。詳細については、「GRANT (サーバーの権限の許可) (Transact-SQL)」を参照してください。
トレースの再生に使用される権限
トレースを再生するには、トレースを再生するユーザーに ALTER TRACE 権限が許可されている必要があります。
ただし、再生中に、再生されるトレース内で Audit Login イベントが検出されると、SQL Server Profiler によって EXECUTE AS コマンドが使用されます。ログイン イベントに関連付けられたユーザーの権限を借用するために、SQL Server Profiler によって EXECUTE AS コマンドが使用されます。
SQL Server Profiler によって再生されるトレース内でログイン イベントが検出されると、次の権限のチェックが実行されます。
- ALTER TRACE 権限のある User1 が、トレースの再生を開始します。
- 再生されるトレースで、User2 のログイン イベントが検出されます。
- User2 の権限を借用するために、SQL Server Profiler によって EXECUTE AS コマンドが使用されます。
- SQL Server は User2 の認証を試みます。認証の結果に応じて、次のいずれかが行われます。
- User2 を認証できない場合、SQL Server Profiler はエラーを返し、User1 としてトレースの再生を続行します。
- User2 を正しく認証できた場合、User2 としてのトレースの再生を続行します。
- 対象のデータベースで User2 の権限がチェックされます。チェックの結果に応じて、次のいずれかが行われます。
- User2 が対象のデータベースに権限を所持している場合、権限の借用に成功し、User2 としてトレースが再生されます。
- User2 が対象のデータベースに権限を所持していない場合、サーバーではそのデータベースの Guest ユーザーがチェックされます。
- 対象のデータベースに Guest ユーザーが存在するかどうかがチェックされます。チェックの結果に応じて、次のいずれかが行われます。
- Guest アカウントが存在する場合、Guest アカウントとしてトレースが再生されます。
- 対象のデータベースに Guest アカウントが存在しない場合、エラーが返され、User1 としてトレースが再生されます。
次の図に、トレース再生時の権限のチェック プロセスを示します。
参照
処理手順
トレースを作成する方法 (SQL Server Profiler)
トレース テーブルを再生する方法 (SQL Server Profiler)
トレース ファイルを再生する方法 (SQL Server Profiler)
概念
その他の技術情報
SQL Server Profiler のストアド プロシージャ (Transact-SQL)