Always Encrypted を使用したデータベースのエクスポートとインポート

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

この記事では、Always Encrypted で保護された列を含むデータベースをエクスポートおよびインポートする方法について説明します。

データベースをエクスポートすると、暗号化された列に格納されているすべてのデータが暗号化された形式 (ciphertext) でデータベースから取得され、結果として生成された BACPAC に入れられます。 生成された BACPAC には、Always Encrypted キーのメタデータも含まれます。

BACPAC をデータベースにインポートすると、BACPAC からの暗号化されたデータがデータベースに読み込まれ、Always Encrypted キーのメタデータが再び作成されます。

ソース データベース (エクスポートしたデータベース) に格納されている暗号化された列にクエリを実行するように構成されたアプリケーションがある場合、特別なことをしなくても、そのアプリケーションでターゲット データベース内の暗号化されたデータに対してクエリを実行することができます。これは両方のデータベースのキーが同じであるためです。

データベースのエクスポートおよびインポート方法の詳細については、以下をご覧ください。

暗号化された列を含むデータベースを移行するためのアクセス許可

ソース データベースに対して ALTER ANY COLUMN MASTER KEY および ALTER ANY COLUMN ENCRYPTION KEY 権限が必要です。 ターゲット データベースに対して ALTER ANY COLUMN MASTER KEYALTER ANY COLUMN ENCRYPTION KEYVIEW ANY COLUMN MASTER KEY DEFINITION、および VIEW ANY COLUMN ENCRYPTION が必要です。

暗号化された列に対して構成されている列マスター キーへのアクセス権は必要ありません。エクスポートおよびインポート操作中にデータが暗号化された状態になるためです。

次のステップ

関連項目