无ALTER ANY DATABASE AUDIT权限却可创建数据库审核规范的疑问
问题解答
核心原因:CONTROL SERVER权限包含了ALTER ANY DATABASE AUDIT权限的所有能力
SQL Server文档中《Create Database Audit Specification》的权限章节说明的是创建数据库审核规范所需的最低权限,而非唯一权限。CONTROL SERVER是SQL Server中最高级别的服务器级权限,拥有该权限的用户等同于服务器管理员,能够执行几乎所有服务器和数据库层面的操作,其中就包括创建、修改、删除数据库审核规范,以及绑定到任意审核对象——这完全符合SQL Server的权限继承设计逻辑。
你可以通过以下查询验证权限包含关系:
SELECT * FROM sys.fn_my_permissions(NULL, 'SERVER') WHERE permission_name = 'ALTER ANY DATABASE AUDIT';
如果用户拥有CONTROL SERVER权限,该查询会返回ALTER ANY DATABASE AUDIT权限的记录,因为CONTROL SERVER隐含了这个低阶权限。
内容的提问来源于stack exchange,提问作者altink
相关产品推荐
相关产品推荐

