web-dev-qa-db-ja.com

データベースに対するSHOWPLAN権限を持つユーザー

現在実行プランを表示するアクセス権を持つデータベース内のすべてのユーザーを表示する方法はありますか?つまり、SHOWPLAN権限を持つユーザー

2
SEarle1986

「データベース内で」と尋ねたので、sysadminsとサーバーレベルで権限を付与されたユーザーを別にして、興味のあるデータベースでこのクエリを実行することで、データベースレベルでその権限を付与または拒否されたユーザーを確認できます。約:

SELECT p.name, perm.* 
  FROM sys.database_permissions perm
  INNER JOIN sys.database_principals p ON perm.grantee_principal_id = p.principal_id
  WHERE perm.permission_name = 'SHOWPLAN';

ここでは、state_desc(許可または拒否)のフィルタリングを行っていないことに注意してください。アクセスできる人に関心がある場合は、アクセスが拒否されている人にも関心があるはずです。

4
Brent Ozar