DENY 端点权限 (Transact-SQL)
适用于: SQL Server Azure SQL 托管实例
拒绝对端点的权限。
语法
DENY permission [ ,...n ] ON ENDPOINT :: endpoint_name
TO < server_principal > [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
参数
permission
指定可对端点拒绝的权限。 有关权限的列表,请参阅本主题后面的“备注”部分。
ON ENDPOINT ::endpoint_name
指定要对其拒绝权限的端点。 需要使用作用域限定符 (::)。
TO <server_principal>
指定要拒绝权限的 SQL Server 登录名。
SQL_Server_login
指定 SQL Server 登录帐户的名称。
SQL_Server_login_from_Windows_login
指定通过 Windows 登录帐户创建的 SQL Server 登录帐户的名称。
SQL_Server_login_from_certificate
指定映射到证书的 SQL Server 登录帐户的名称。
SQL_Server_login_from_AsymKey
指定映射到非对称密钥的 SQL Server 登录帐户的名称。
CASCADE
指示要拒绝的权限也会被对此主体授予该权限的其他主体拒绝。
AS SQL_Server_login
指定执行此查询的主体要从哪个 SQL Server 登录名派生其拒绝该权限的权限。
备注
只有在当前数据库为 master 时,才可拒绝其服务器作用域内的权限。
可以在 sys.endpoints 目录视图中查看终结点的相关信息。 可以在 sys.server_permissions 目录视图中查看服务器权限的相关信息,在 sys.server_principals 目录视图中查看服务器主体的相关信息。
端点为服务器级安全对象。 下表列出了可拒绝的对端点最为具体的限定权限,以及隐含这些权限的更为通用的权限。
端点权限 | 端点权限隐含的权限 | 服务器权限隐含的权限 |
---|---|---|
ALTER | CONTROL | ALTER ANY ENDPOINT |
CONNECT | CONTROL | CONTROL SERVER |
CONTROL | CONTROL | CONTROL SERVER |
TAKE OWNERSHIP | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
权限
需要对端点的 CONTROL 权限或对服务器的 ALTER ANY ENDPOINT 权限。
示例
A. 拒绝对端点的 VIEW DEFINITION 权限
以下示例拒绝 SQL Server 登录名 ZArifin
对终结点 Mirror7
的 VIEW DEFINITION
权限。
USE master;
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO
B. 使用 CASCADE 选项拒绝 TAKE OWNERSHIP 权限
以下示例拒绝 SQL Server 用户 TAKE OWNERSHIP
以及 Shipping83
授予 PKomosinski
权限的主体对端点 PKomosinski
的 TAKE OWNERSHIP
权限。
USE master;
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski
CASCADE;
GO
另请参阅
GRANT 端点权限 (Transact-SQL)
REVOKE 端点权限 (Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
端点目录视图 (Transact-SQL)
sys.endpoints (Transact-SQL)
权限(数据库引擎)
主体(数据库引擎)