授與可用性群組權限 (Transact-SQL)
授與 AlwaysOn 可用性群組的權限。
語法
GRANT permission [ ,...n ] ON AVAILABILITY GROUP :: availability_group_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 AVAILABILITY GROUP ::availability_group_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.availability_groups (Transact-SQL) 目錄檢視中看到有關可用性群組的資訊。 您可以在 sys.server_permissions 目錄檢視中,看到有關伺服器權限的資訊,且可以在 sys.server_principals 目錄檢視中,看到有關伺服器主體的資訊。
可用性群組是伺服器層級的安全性實體。 下表所列的是可以授與之最特定且最有限的可用性群組權限,並列出利用隱含方式來併入這些權限的較通用權限。
可用性群組權限 |
可用性群組權限所隱含 |
伺服器權限所隱含 |
---|---|---|
ALTER |
CONTROL |
ALTER ANY AVAILABILITY GROUP |
CONNECT |
CONTROL |
CONTROL SERVER |
CONTROL |
CONTROL |
CONTROL SERVER |
TAKE OWNERSHIP |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
如需所有 Database Engine 權限的圖表,請參閱 Database Engine 權限海報。
權限
需要可用性群組的 CONTROL 權限或伺服器的 ALTER ANY AVAILABILTIY GROUP 權限。
範例
A.授與可用性群組的 VIEW DEFINITION 權限
下列範例會將可用性群組 MyAg 的 VIEW DEFINITION 權限授與 SQL Server 登入 ZArifin。
USE master;
GRANT VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B.授與具有 GRANT OPTION 的 TAKE OWNERSHIP 權限
下列範例會將可用性群組 MyAg 的 TAKE OWNERSHIP 權限授與具有 GRANT OPTION 的 SQL Server 使用者 PKomosinski。
USE master;
GRANT TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
C.授與可用性群組的 CONTROL 權限
下列範例會將可用性群組 MyAg 的 CONTROL 權限授與 SQL Server 使用者 PKomosinski。 CONTROL 可完全控制可用性群組的登入,即使不是可用性群組的擁有者亦然。 若要變更擁有權,請參閱<ALTER AUTHORIZATION (Transact-SQL)>。
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski;
GO
請參閱
參考
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)