GRANT 資料庫範圍認證權限 (Transact-SQL)

適用於:SQL Server 2017 (14.x) 和更新版本Azure SQL DatabaseAzure SQL 受控執行個體Azure Synapse Analytics

授與資料庫範圍認證的權限。

Transact-SQL 語法慣例

Syntax

GRANT permission  [ ,...n ]    
    ON DATABASE SCOPED CREDENTIAL :: credential_name   
    TO principal [ ,...n ] [ WITH GRANT OPTION ]   
    [ AS granting_principal ]   

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

permission

指定可以授與的資料庫範圍認證權限。 如下所列。

ON DATABASE SCOPED CREDENTIAL ::credential_name

指定要授與的資料庫範圍認證權限。 需要範圍限定詞 "::"。

database_principal

指定要對其授與權限的主體。 下列其中之一:

  • 資料庫使用者
  • 資料庫角色
  • 應用程式角色
  • 對應至 Windows 登入的資料庫使用者
  • 對應至 Windows 群組的資料庫使用者
  • 對應至憑證的資料庫使用者
  • 對應至非對稱金鑰的資料庫使用者
  • 未對應至伺服器主體的資料庫使用者

GRANT OPTION

指出主體也有權授與指定權限給其他主體。

AS granting_principal

指定主體,執行這項查詢的主體就是從這個主體衍生權限來授與權限。 下列其中之一:

  • 資料庫使用者
  • 資料庫角色
  • 應用程式角色
  • 對應至 Windows 登入的資料庫使用者
  • 對應至 Windows 群組的資料庫使用者
  • 對應至憑證的資料庫使用者
  • 對應至非對稱金鑰的資料庫使用者
  • 未對應至伺服器主體的資料庫使用者

備註

資料庫範圍認證是包含在資料庫內的資料庫層級安全性實體,在權限階層中,該資料庫為其父系。 下方列出的資料庫範圍認證權限,是可以授與的最明確與最有限權限,以及隱含包括這些權限的一般權限。

資料庫範圍認證權限 資料庫範圍認證權限所隱含 資料庫權限所隱含
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL CONTROL
REFERENCES CONTROL REFERENCES
VIEW DEFINITION CONTROL VIEW DEFINITION

注意

在 Azure Synapse Analytics 中,只有無伺服器 SQL 集區,才支援對資料庫範圍認證進行 GRANT。

權限

同意授權者 (或是指定了 AS 選項的主體) 必須具有指定了 GRANT OPTION 的權限本身,或是具有隱含目前正在授與權限的更高權限。

如果是使用 AS 選項,就必須套用這些額外的需求。

AS granting_principal 其他必要的權限
資料庫使用者 使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
對應至 Windows 登入的資料庫使用者 使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
對應至 Windows 群組的資料庫使用者 Windows 群組中的成員資格、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
對應至憑證的資料庫使用者 db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
對應至非對稱金鑰的資料庫使用者 db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
未對應至任何伺服器主體的資料庫使用者 使用者的 IMPERSONATE 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
資料庫角色 角色的 ALTER 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。
應用程式角色 角色的 ALTER 權限、db_securityadmin 固定資料庫角色中的成員資格、db_owner 固定資料庫角色中的成員資格,或 sysadmin 固定伺服器角色中的成員資格。

物件擁有者可以授與他們所擁有之物件的權限。 具有安全性實體之 CONTROL 權限的主體可以授與該安全性實體的權限。

CONTROL SERVER 權限的承授者 (例如 sysadmin 固定伺服器角色的成員),可以授與伺服器中任何安全性實體的任何權限。 資料庫 CONTROL 權限的承授者 (例如 db_owner 固定資料庫角色的成員) 可以授與資料庫中任何安全性實體的任何權限。 結構描述之 CONTROL 權限的被授與者,可以授與結構描述中任何物件的任何權限。

下一步

GRANT (Transact-SQL)
REVOKE 資料庫範圍認證 (Transact-SQL)
DENY 資料庫範圍認證 (TRANSACT-SQL)
權限 (資料庫引擎)
主體 (資料庫引擎)
加密階層