权限层次结构(数据库引擎)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric SQL 数据库
数据库引擎管理可以通过权限进行保护的实体的分层集合。 这些实体称为“安全对象” 。 最主要的安全对象是服务器和数据库,但可以在更细化的级别设置各种权限。 SQL Server 通过验证主体是否已被授予适当权限来控制主体对安全对象的操作。
下图显示了数据库引擎权限层次结构之间的关系。
权限系统在所有版本的 SQL Server、SQL 数据库、Microsoft Fabric 中的 SQL 数据库、Azure Synapse Analytics、Analytics Platform System 中工作相同,但某些功能在所有版本中都不可用。 例如,不能在 Azure 产品中配置服务器级权限。
SQL Server 权限图表
若要获取 pdf 格式的所有 数据库引擎 权限的海报大小的图表,请参阅 https://aka.ms/sql-permissions-poster。
使用权限
可以使用常见的 Transact-SQL 查询 GRANT、DENY 和 REVOKE 来操作权限。 有关权限的信息,可以在 sys.server_permissions 和 sys.database_permissions 目录视图中看到。 也可以使用内置函数来查询权限信息。
有关设计权限系统的信息,请参阅 Getting Started with Database Engine Permissions。
另请参阅
保护 SQL Server
权限(数据库引擎)
安全对象
主体(数据库引擎)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
DENY (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_builtin_permissions (Transact-SQL)
sys.server_permissions (Transact-SQL)
sys.database_permissions (Transact-SQL)