ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

データベース スコープ資格情報のプロパティを変更します。

Transact-SQL 構文表記規則

構文

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

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

credential_name

変更対象のデータベース スコープ資格情報の名前を指定します。

IDENTITY ='identity_name'

サーバーの外部に接続するときに使用するアカウントの名前を指定します。 Azure Blob Storage からファイルをインポートするには、ID 名が SHARED ACCESS SIGNATURE である必要があります。 Shared Access Signature の詳細については、「Shared Access Signatures (SAS) の使用」をご覧ください。

SECRET ='secret'

送信の認証に必要なシークレットを指定します。 "シークレット" は、Azure BLOB ストレージからファイルをインポートするために必要です。 "シークレット" は、他の目的では省略可能な場合があります。

警告

SAS キーの値は '?' (疑問符) で始まる可能性があります。 SAS キーを使用する場合は、先頭の '?' を削除する必要があります。 そうしないと、作業がブロックされる可能性があります。

解説

データベース スコープの資格情報が変更されたとき、identity_name の値と "シークレット" の値は両方ともリセットされます。 SECRET 引数を省略すると、格納されているシークレットの値は NULL に設定されます。

シークレットはサービス マスター キーを使用して暗号化されます。 サービス マスター キーが再生成された場合、シークレットは新しいサービス マスター キーを使って再暗号化されます。

データベース スコープの資格情報に関する情報は、sys.database_scoped_credentials カタログ ビューで確認できます。

PolyBase 外部テーブルで使用するために共有アクセス署名 (SAS) にアクセス許可を付与する場合は、許可されるリソースの種類として [コンテナー][オブジェクト] の両方を選びます。 付与されていない場合、外部テーブルにアクセスしようとすると、エラー 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 とパスワードです。 ステートメントを実行すると、SECRET オプションが指定されていないので、データベース スコープ資格情報のパスワードは NULL になります。

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

次のステップ