SQL Server Profiler の実行に必要な権限Permissions Required to Run SQL Server Profiler

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

既定では、 SQL Server プロファイラーSQL Server Profiler の実行には、トレースの作成に使用した Transact-SQL ストアド プロシージャと同じユーザー権限が必要です。By default, running SQL Server プロファイラーSQL Server Profiler requires the same user permissions as the Transact-SQL stored procedures that are used to create traces. SQL Server プロファイラーSQL Server Profiler を実行するには、ユーザーに ALTER TRACE アクセス権を許可する必要があります。To run SQL Server プロファイラーSQL Server Profiler, users must be granted the ALTER TRACE permission. 詳細については、「GRANT (サーバーの権限の許可) (Transact-SQL)」を参照してください。For more information, see GRANT Server Permissions (Transact-SQL).

重要

SHOWPLAN 権限、ALTER TRACE 権限、または VIEW SERVER STATE 権限を持つユーザーは、プラン表示出力にキャプチャされたクエリを表示できます。Users who have the SHOWPLAN, the ALTER TRACE, or the VIEW SERVER STATE permission can view queries that are captured in Showplan output. これらのクエリには、パスワードなどの機密情報が含まれている場合があります。These queries may contain sensitive information such as passwords. したがって、これらの権限は、機密情報を表示することが認められているユーザー (たとえば db_owner 固定データベース ロールのメンバーや sysadmin 固定サーバー ロールのメンバー) のみに付与することをお勧めします。Therefore, we recommend that you only grant these permissions to users who are authorized to view sensitive information, such as members of the db_owner fixed database role, or members of the sysadmin fixed server role. また、プラン表示ファイルまたはプラン表示関連のイベントを含むトレース ファイルのみを保存すること、保存先は NTFS ファイル システムが使用されている場所とすること、および機密情報を表示する権限を持つユーザーのみにアクセスを制限することをお勧めします。Additionally, we recommend that you only save Showplan files or trace files that contain Showplan-related events to a location that uses the NTFS file system, and that you restrict access to users who are authorized to view sensitive information.

トレースの再生に使用される権限Permissions Used to Replay Traces

トレースを再生するには、トレースを再生するユーザーに ALTER TRACE 権限が許可されている必要があります。Replaying traces also requires that the user who is replaying the trace have the ALTER TRACE permission.

ただし、再生中に、再生されるトレース内で Audit Login イベントが検出されると、 SQL Server プロファイラーSQL Server Profiler によって EXECUTE AS コマンドが使用されます。However, during replay, SQL Server プロファイラーSQL Server Profiler uses the EXECUTE AS command if an Audit Login event is encountered in the trace that is being replayed. SQL Server プロファイラーSQL Server Profiler はログイン イベントに関連付けられたユーザーの権限を借用するために、EXECUTE AS コマンドを使用します。uses the EXECUTE AS command to impersonate the user who is associated with the login event.

SQL Server プロファイラーSQL Server Profiler によって再生されるトレース内でログイン イベントが検出されると、次の権限のチェックが実行されます。If SQL Server プロファイラーSQL Server Profiler encounters a login event in a trace that is being replayed, the following permission checks are performed:

  1. ALTER TRACE 権限のある User1 が、トレースの再生を開始します。User1, who has the ALTER TRACE permission, starts replaying a trace.

  2. 再生されるトレースで、User2 のログイン イベントが検出されます。A login event for User2 is encountered in the replayed trace.

  3. SQL Server プロファイラーSQL Server Profiler は User2 の権限を借用するために、EXECUTE AS コマンドを使用します。uses the EXECUTE AS command to impersonate User2.

  4. SQL ServerSQL Server は User2 の認証を試みます。認証の結果に応じて、次のいずれかが行われます。attempts to authenticate User2, and depending on the results, one of the following occurs:

    1. User2 を認証できない場合、 SQL Server プロファイラーSQL Server Profiler はエラーを返し、User1 としてトレースの再生を続行します。If User2 cannot be authenticated, SQL Server プロファイラーSQL Server Profiler returns an error, and continues replaying the trace as User1.

    2. User2 を正しく認証できた場合、User2 としてのトレースの再生を続行します。If User2 is successfully authenticated, replaying the trace as User2 continues.

  5. 対象のデータベースで User2 の権限がチェックされます。チェックの結果に応じて、次のいずれかが行われます。Permissions for User2 are checked on the target database, and depending on the results, one of the following occurs:

    1. User2 が対象のデータベースに権限を所持している場合、権限の借用に成功し、User2 としてトレースが再生されます。If User2 has permissions on the target database, impersonation has succeeded, and the trace is replayed as User2.

    2. User2 が対象のデータベースに権限を所持していない場合、サーバーではそのデータベースの Guest ユーザーがチェックされます。If User2 does not have permissions on the target database, the server checks for a Guest user on that database.

  6. 対象のデータベースに Guest ユーザーが存在するかどうかがチェックされます。チェックの結果に応じて、次のいずれかが行われます。Existence of a Guest user is checked on the target database, and depending on the results, one of the following occurs:

    1. Guest アカウントが存在する場合、Guest アカウントとしてトレースが再生されます。If a Guest account exists, the trace is replayed as the Guest account.

    2. 対象のデータベースに Guest アカウントが存在しない場合、エラーが返され、User1 としてトレースが再生されます。If no Guest account exists on the target database, an error is returned and the trace is replayed as User1.

次の図に、トレース再生時の権限のチェック プロセスを示します。The following diagram shows this process of checking permission when replaying traces:

SQL Server プロファイラー再生トレースのアクセス許可SQL Server Profiler replay trace permissions

参照See Also

SQL Server Profiler のストアド プロシージャ (Transact-SQL) SQL Server Profiler Stored Procedures (Transact-SQL)
トレースの再生 Replay Traces
トレースの作成 (SQL Server Profiler) Create a Trace (SQL Server Profiler)
トレース テーブルを再生する (SQL Server Profiler) Replay a Trace Table (SQL Server Profiler)
トレース ファイルを再生する (SQL Server Profiler)Replay a Trace File (SQL Server Profiler)