Mag*_*ier 6 security sql-server permissions role sql-server-2016
我想创建被授予访问权限的登录名
查看所有定义
选择所有表的所有记录
对我来说,将登录名分配给每个数据库并将其添加到自定义 db 角色或每个 db 中的默认 db 角色(如 db_datareader)似乎开销太大。
相反,我尝试使用用户定义的服务器角色。
但是如何将所需的权限分配给用户定义的服务器角色以允许查看所有数据库的任何定义和 db_datareader?
这甚至可能吗?
要访问所有数据库,您应该授予权限CONNECT ANY DATABASE
。
要查看所有定义,您应该授予VIEW ANY DEFINITION
权限。
要从所有用户表中选择所有数据,您可以SELECT ALL USER SECURABLES
从 SQL Server 2014 开始授予权限,但它只允许您从所有可访问的数据库中选择数据,因此如果没有CONNECT ANY DATABASE
它,您将一无所获。
因此,即使您拥有 SQL Server 2014 及更高版本,您也应该授予所有三个权限来完成您想要的操作:
CONNECT ANY DATABASE
VIEW ANY DEFINITION
SELECT ALL USER SECURABLES
无需授予,VIEW ANY DATABASE
因为它已经授予public。
归档时间: |
|
查看次数: |
703 次 |
最近记录: |