mir*_*lav 4 permissions audit sql-server
在 Microsoft SQL Server 中,我可以使用
GRANT EXECUTE TO <principal>
Run Code Online (Sandbox Code Playgroud)
授予某些用户或角色执行权限。我对检测感兴趣:
我怎样才能同样简单地检查该GRANT EXECUTE命令是否已经应用于给定的用户/角色?(由我或其他管理员)
例子:
如果我使用GRANT EXECUTE TO user01并在几周后返回:是否有一种简单的方法来检查我(或其他人)是否已经使用过GRANT EXECUTE TO user01?
我找到了它的存储位置,因此在有人发布更简单的答案之前,我将保留此代码片段以供检查:
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';
Run Code Online (Sandbox Code Playgroud)
结果0表示否定回答,1表示肯定回答。
| 归档时间: |
|
| 查看次数: |
6873 次 |
| 最近记录: |