DENY 服务器权限 (Transact-SQL)
拒绝对服务器的权限。
语法
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
参数
- permission
指定可对服务器拒绝的权限。有关权限的列表,请参阅本主题后面的“备注”部分。
- CASCADE
指示要拒绝的权限也会被对此主体授予该权限的其他主体拒绝。
- TO <server_principal>
指定对其拒绝权限的主体。
- AS <grantor_principal>
指定执行此查询的主体要从哪个主体派生其拒绝该权限的权利。
- SQL_Server_login
指定 SQL Server 登录名。
- SQL_Server_login_mapped_to_Windows_login
指定映射到 Windows 登录名的 SQL Server 登录名。
- SQL_Server_login_mapped_to_Windows_group
指定映射到 Windows 组的 SQL Server 登录名。
- SQL_Server_login_mapped_to_certificate
指定映射到证书的 SQL Server 登录名。
- SQL_Server_login_mapped_to_asymmetric_key
指定映射到非对称密钥的 SQL Server 登录名。
备注
只有在当前数据库为 master 时,才可拒绝其服务器作用域内的权限。
可以在 sys.server_permissions 目录视图中查看服务器权限的有关信息,可以在 sys.server_principals 目录视图中查看服务器主体的有关信息。可以在 sys.server_role_members 目录视图中查看服务器角色的成员身份的有关信息。
服务器是权限层次结构的最高级别。下表列出了可拒绝的对服务器最为具体的限定权限。
服务器权限 | 服务器权限隐含的权限 |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
权限
要求具有 CONTROL SERVER 权限或者安全对象的所有权。如果使用 AS 子句,则指定的主体必须拥有要对其拒绝权限的安全对象。
示例
A. 对 SQL Server 登录名和该登录名重新授予 CONNECT SQL 权限的主体拒绝该权限
以下示例对 SQL Server 登录名 Annika
以及该登录名授予 CONNECT SQL
权限的主体拒绝该权限。
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. 使用 AS 选项对 SQL Server 登录名拒绝 CREATE ENDPOINT 权限
以下示例对用户 ArifS
拒绝 CREATE ENDPOINT
权限。该示例使用 AS
选项指定 MandarP
作为执行主体从中派生执行权限的主体。
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
请参阅
参考
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY 服务器权限 (Transact-SQL)
REVOKE 服务器权限 (Transact-SQL)