GRANT 端点权限 (Transact-SQL)
授予对端点的权限。
语法
GRANT permission [ ,...n ] ON ENDPOINT :: endpoint_name
TO < server_principal > [ ,...n ]
[ WITH GRANT OPTION ]
[ 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 登录帐户的名称。WITH GRANT OPTION
指示该主体还可以向其他主体授予所指定的权限。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 权限
以下示例将对端点 Mirror7 的 VIEW DEFINITION 权限授予 SQL Server 登录名 ZArifin。
USE master;
GRANT VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO
B. 使用 GRANT OPTION 授予 TAKE OWNERSHIP 权限
以下示例使用 GRANT OPTION,将对端点 Shipping83 的 TAKE OWNERSHIP 权限授予 SQL Server 用户 PKomosinski。
USE master;
GRANT TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski
WITH GRANT OPTION;
GO