ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

變更資料庫範圍認證的屬性。

Transact-SQL 語法慣例

Syntax

ALTER DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'identity_name'
    [ , SECRET = 'secret' ]

注意

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

引數

credential_name

指定要變更的資料庫範圍認證的名稱。

IDENTITY ='identity_name'

指定連接到伺服器外部時所要使用的帳戶名稱。 若要從 Azure Blob 儲存體匯入檔案,身分識別名稱必須為 SHARED ACCESS SIGNATURE。 如需共用存取簽章的詳細資訊,請參閱使用共用存取簽章 (SAS)

SECRET ='secret'

指定外寄驗證所需的秘密。 從 Azure Blob 儲存體匯入檔案需要 secret。 針對其他用途,secret 可能為選擇性的。

警告

SAS 金鑰值的開頭可能是 '?' (問號)。 當您使用 SAS 金鑰時,您必須移除前置字元 '?'。 否則您的工作可能會受阻。

備註

當資料庫範圍認證變更時,identity_namesecret 的值都會重設。 如果未指定選擇性 SECRET 引數,預存秘密的值便會設為 NULL。

秘密是利用服務主要金鑰來加密的。 如果重新產生服務主要金鑰,便會利用新的服務主要金鑰來重新加密秘密。

資料庫範圍認證的相關資訊顯示在 sys.database_scoped_credentials 目錄檢視中。

授與共用存取簽章 (SAS) 的權限以搭配 PolyBase 外部資料表使用時,請同時選取 [容器] 和 [物件] 作為允許的資源類型。 如果未授與,您可能會在嘗試存取外部資料表時收到錯誤 16535 或 16561。

權限

需要認證上的 ALTER 權限。

範例

A. 變更資料庫範圍認證的密碼

下列範例會變更儲存在稱為 Saddles 之資料庫範圍認證中的祕密。 資料庫範圍認證包含 Windows 登入RettigB 及其密碼。 使用 SECRET 子句將新的密碼加入資料庫範圍認證中。

ALTER DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = 'RettigB',
    SECRET = 'sdrlk8$40-dksli87nNN8';
GO

B. 從認證移除密碼

下列範例會從稱為 Frames 的資料庫範圍認證中移除密碼。 資料庫範圍認證包含 Windows 登入 Aboulrus8 及密碼。 在執行陳述式之後,資料庫範圍認證的密碼為 NULL,因為未指定 SECRET 選項。

ALTER DATABASE SCOPED CREDENTIAL Frames WITH IDENTITY = 'Aboulrus8';
GO

下一步