GRANT 伺服器權限 (Transact-SQL)
授與伺服器的權限。
語法
GRANT permission [ ,...n ]
TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ 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
指定可以授與的伺服器權限。如需權限清單,請參閱這個主題稍後的「備註」一節。
- TO <grantee_principal>
指定要對其授與權限的主體。
- AS <grantor_principal>
指定主體,執行這項查詢的主體會從這個主體衍生權限來授與權限。
- WITH GRANT OPTION
指出主體也有權授與指定權限給其他主體。
- 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 |
權限
同意授權者 (或是指定了 AS 選項的主體) 必須具有指定了 GRANT OPTION 的權限本身,或是具有隱含目前正在授與權限的更高權限。系統管理員 (sysadmin) 固定伺服器角色的成員也能夠授與任何權限。
範例
A. 對登入授與權限
下列範例會將 CONTROL SERVER
權限授與 SQL Server 登入 TerryEminhizer
。
USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO
B. 授與具有 GRANT 權限的權限
下列範例會將 ALTER ANY EVENT NOTIFICATION
授與 SQL Server 登入 JanethEsteves
,而這項登入具有對將該權限授與其他登入的權限。
USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO
請參閱
參考
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY 伺服器權限 (Transact-SQL)
REVOKE 伺服器權限 (Transact-SQL)