Azure SQLデータベース全体を1つのサブスクリプションから別のサブスクリプションにコピーする必要があります。
私が抱えている課題は、対称キーを持つ証明書があり、それを.bacpacファイルにエクスポートしようとすると、次のエラーが発生することです。
SQL71626(証明書/対称キーはMicrosoft Azure SQL Database v12ではサポートされていません)
すべてのITと同様に、これを行う方法はおそらく101通りあり、多くのサイトがいくつかのオプションを説明しています(ただし、暗号化とそれに対処するための最良の方法について言及したものはありません)。
いくつかの追加情報:宛先サブスクリプションは既に存在しますSQLサーバーがあり、必要に応じてさらに追加できます。
はい、SQLデータベースを暗号化して1つのAzureサブスクリプションから別のAzureサブスクリプションにコピーできます。ただし、Azure SQL Serverとともにデータベースを移動する必要があります。データベース自体だけではありません。回避策として私の手順に従ってください。
私は以下の手順でこれをうまくテストしました:
証明書と対称鍵を作成します。 Microsoftのドキュメントの例。 証明書 および 対称キー 。
CREATE CERTIFICATE Shipping04
ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y'
WITH SUBJECT = 'Sammamish Shipping Records',
EXPIRY_DATE = '20201031';
GO
CREATE SYMMETRIC KEY JanainaKey09
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE Shipping04;
GO
ステージング領域と同じサブスクリプションに別のリソースグループを作成します。新しいAzure SQL Serverを作成し、バックアップが利用可能になったらデータベースをコピーします。これは、リソースを移動すると、移動後にソースで使用できなくなるためです。
Restore-AzSqlDatabase ` -FromPointInTimeBackup ` -PointInTime (Get-Date).AddMinutes(-10) ` -ResourceGroupName $Database.ResourceGroupName ` -ServerName $secondaryServerName ` -TargetDatabaseName $secondarydatabaseName ` -ResourceId $Database.ResourceID ` -Edition "Premium" ` -ServiceObjectiveName "P1" }
Move-AzResource
コマンド。詳細 ここ および ここ 。データベースのみを移動しようとすると、このエラーメッセージが表示されます。
"properties": {
"statusCode": "BadRequest",
"serviceRequestId": null,
"statusMessage": "{\"error\":{\"code\":\"InvalidResourceMoveRequest\",\"message\":\"The list of resources in move definition cannot be null or empty.\"}}"
},
SQLPackage.exeはデータベースのエクスポートに使用され、対称キーをサポートしていません。 copy データベースを使用できる場合は、コピー操作によって作成されたデータベースに対称鍵と証明書をドロップします。その後、そのデータベースのコピーをbacpacとしてエクスポートできます。