Microsoft SQL Serverでは、
GRANT EXECUTE TO <principal>
特定のユーザーまたはロールに実行権限を付与します。検出に興味があります:
そのGRANT EXECUTE
コマンドがすでに指定されたユーザー/ロールに適用されますか?(私または他の管理者による)
例:
GRANT EXECUTE TO user01
数週間使用して戻ってきた場合、自分(または他の人)がすでに使用したかどうかを確認する簡単な方法はありますかGRANT EXECUTE TO user01
?
答え1
保存場所がわかったので、誰かがもっと簡単な答えを投稿するまで、確認する場合に備えてこのコード スニペットを手元に置いておきます。
DECLARE @username nvarchar(128) = 'user01';
SELECT COUNT(*) FROM sys.database_permissions
WHERE grantee_principal_id = (SELECT UID FROM sysusers WHERE name = @username)
AND class_desc = 'DATABASE'
AND type='EX'
AND permission_name='EXECUTE'
AND state = 'G';
結果は0
否定的な答えを意味し、1
肯定的な答えを意味します。