次の方法で共有


ALTER DATABASE SCOPED CREDENTIAL (Transact-SQL)

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

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

Transact-SQL 構文表記規則

構文

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。 データベース スコープ資格情報のパスワードを変更する

次の例では、データベース スコープ資格情報に格納されているシークレットを変更します。 データベース スコープの資格情報には、Windows ログインとそのパスワードが含まれています。 新しいパスワードは、 SECRET 句を使用してデータベース スコープの資格情報に追加されます。

ALTER DATABASE SCOPED CREDENTIAL AppCred WITH IDENTITY = '<login>',
    SECRET = '<storng password>';
GO

B. 資格情報からパスワードを削除する

次の例では、Frames というデータベース スコープ資格情報からパスワードを削除します。 データベース スコープの資格情報には、Windows ログインとパスワードが含まれています。 ステートメントの実行後、SECRET オプションが指定されていないため、データベース スコープの資格情報には NULL パスワードが設定されます。

ALTER DATABASE SCOPED CREDENTIAL Frames WITH IDENTITY = '<login>';
GO