OPEN MASTER KEY (Transact-SQL)

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

現在のデータベースのデータベース マスター キーを開きます。

Transact-SQL 構文表記規則

構文

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'   

Note

この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

Note

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

引数

'password'
データベース マスター キーを暗号化するときに使用するパスワードを指定します。

注釈

データベース マスター キーがサービス マスター キーで暗号化された場合、データベース マスター キーは、暗号化解除または暗号化の必要が生じたときに、自動的に開かれます。 この場合、OPEN MASTER KEY ステートメントを使う必要はありません。

データベースが最初に SQL Serverの新しいインスタンスにアタッチまたは復元されるとき、データベース マスター キー (サービス マスター キーにより暗号化されたもの) のコピーはまだサーバーに格納されていません。 OPEN MASTER KEY を使用して、データベース マスター キー (DMK) を暗号化解除する必要があります。 DMK の暗号化が解除されると、 ALTER MASTER KEY REGENERATE ステートメントを使用して、サービス マスター キー (SMK) で暗号化された DMK のコピーをサーバーに提供することにより、将来、自動的に暗号化解除することも可能となります。 データベースを以前のバージョンからアップグレードした場合、新しい AES アルゴリズムを使用するように DMK を再作成する必要があります。 DMK を再作成する方法については、「ALTER MASTER KEY (Transact-SQL)」を参照してください。 DMK キーを再作成して AES にアップグレードするのに必要な時間は、DMK によって保護されているオブジェクトの数によって異なります。 DMK キーを再作成して AES にアップグレードする作業は、1 回限りで済み、今後のキー ローテーション方法には影響を与えません。

DROP ENCRYPTION BY SERVICE MASTER KEY オプションと共に ALTER MASTER KEY ステートメントを使用することにより、特定のデータベースのデータベース マスター キーを自動キー管理から除外することができます。 その後は、パスワードにより明示的にデータベース マスター キーを開く必要があります。

データベース マスター キーが明示的に開かれるトランザクションがロールバックされると、キーは開いたままとなります。

アクセス許可

データベースに対する CONTROL 権限が必要です。

次の例では、パスワードにより暗号化された AdventureWorks2022 データベースのデータベース マスター キーを開きます。

USE AdventureWorks2022;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  

例: Azure Synapse Analytics、Analytics Platform System (PDW)

次の例では、パスワードで暗号化されているデータベース マスターを開きます。

USE master;  
OPEN MASTER KEY DECRYPTION BY PASSWORD = '43987hkhj4325tsku7';  
GO  
CLOSE MASTER KEY;  
GO  

関連項目