ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
データベース スコープ資格情報のプロパティを変更します。
構文
ALTER DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
引数
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