服务器级别⾓⾊
项⽬
2023/10/07
18 个参与者
反馈
本文内容 服务器级别的固定⾓⾊ 请参阅 SQL Server 2022 中引入的固定服务器级⾓⾊。 固定服务
器⾓⾊的权限 服务器级别权限 显⽰另外 2 个
适⽤于: SQL Server Azure SQL 托管实例 Analytics Platform System (PDW)
SQL Server提供服务器级⾓⾊来帮助管理服务器上的权限。 这些⾓⾊是可组合其他主体的安全主
体。 服务器级⾓⾊的权限作⽤域为服务器范围。 (“⾓⾊”类似于 Windows 操作系统中的
“组”。)
SQL Server 2019 和早期版本提供了 9 个固定服务器⾓⾊。 ⽆法更改授予固定服务器⾓⾊(public
⾓⾊除外)的权限。 从 SQL Server 2012 (11.x) 开始,你可以创建⽤户定义的服务器⾓⾊,并将服
务器级权限添加到⽤户定义的服务器⾓⾊。 SQL Server 2022 (16.x) 附带 10 个额外的服务器⾓
⾊,这些⾓⾊专⽤于 最低特权原则 ,具有前缀 ##MS_ 和后缀 ## ,以便将它们与其他常规⽤户
创建的主体和⾃定义服务器⾓⾊区分开来。 这些新⾓⾊包含应⽤于服务器范围的特权,但也可以
继承到单个数据库(##MS_LoginManager## 服务器⾓⾊除外)。
与本地 SQL Server ⼀样,服务器权限也是分层组织的。 这些服务器级⾓⾊拥有的权限可以传播
到数据库权限。 若要使权限在数据库级别有效地发挥作⽤,登录需要是服务器级别⾓⾊
##MS_DatabaseConnector##(最低版本为 SQL Server 2022 (16.x) 预览版))(该⾓⾊授予对所有
数据库的“连接”权限)的成员,或在各个数据库中拥有⽤户帐户。 这也适⽤于 master 数据
库。 请考虑以下⽰例:服务器级别⾓⾊ ##MS_ServerStateReader## 具有“查看服务器状态”权限。
此⾓⾊成员的登录名在数据库中具有⽤户帐户、 master 以及 WideWorldImporters 。 此⽤户
还将具有权限,即通过继承在这两个数据库中“查看数据库状态”。
可以将服务器级别主体(SQL Server 登录名、Windows 帐户和 Windows 组)添加到服务器级别⾓
⾊。 固定服务器⾓⾊的每个成员都可以将其他登录名添加到该同⼀⾓⾊。 ⽤户定义的服务器⾓
⾊的成员则⽆法将其他服务器主体添加到⾓⾊。
服务器级别的固定⾓⾊
备注
在 SQL Server 2022 (16.x) 之前的版本中引入的这些服务器级⾓⾊在 Azure SQL 数据库或 Azure
Synapse Analytics 中不可⽤。 有⼀些特殊的 ⽤于权限管理的 Azure SQL 数据库服务器⾓⾊ ,这些
⾓⾊等效于 SQL Server 2022 (16.x) 中引入的服务器级⾓⾊。 有关 SQL 数据库的详细信息,请参
阅 控制和授予数据库访问权限 。
下表显⽰了服务器级的固定⾓⾊及其权限。
评论