web-dev-qa-db-ja.com

SQLマネージドインスタンス-クロスサブスクリプションの復元/移行

ショートバージョン:

1つのSQLマネージドインスタンスから別のSQLマネージドインスタンスにバックアップを復元しようとしています。これらは異なるサブスクリプションにあります。例3の here を使用すると、少なくともsys.dm_operation_statusで復元が開始するところまで到達できますが、エラーメッセージは「サブスクリプション[ターゲット]に[ソースSQL MI]が含まれていません」です。 」.

質問:データベースをSQLマネージドインスタンスから別のSQLマネージドインスタンスに(別のサブスクリプションで)移行するにはどうすればよいですか?現在の回避策は、BLOBストレージにcopy_onlyを実行し、その方法で復元することです。

TDEを有効にすると(進行中)、BLOBへのcopy_onlyバックアップを実行できなくなります。それで?

ロングバージョン:

ごく最近、SQLマネージドインスタンス(およびその他のPaaS/IaaS)上のAzureで本番ワークロードを実行するようになりましたが、これはかなりうまくいきました。データベース移行サービス(DMS)に慣れましたが、フルバックアップで初期ロードを実行できる十分な大きさのウィンドウが確認されました。

しかし、現在はdev/test/qa環境を拡張しており、当然のことながら、本番環境からこれらの環境に復元したいと考えています。分離の目的で、それぞれが独自のサブスクリプションを取得しています。

これらのコマンドは、少なくともsys.dm_operation_statusで復元操作の開始を確認できるという意味で機能しますが、エラーで失敗します。エラーは「サブスクリプション[ターゲット]には[ソースSQL MI]が含まれていない」というもので、クロスサブスクリプションの復元は機能しない(クロスリージョンは可能です)と私に思わせます。

DMSは、データベース移行サービスをソースとして使用するシナリオをサポートしていないようです。

Select-AzSubscription -Subscription $SourceSubscriptionID

$GeoBackup = Get-AzSqlInstanceDatabaseGeoBackup -ResourceGroupName $SourceResourceGroupName `
     -InstanceName $SourceSQLMI `
     -Name $SourceDatabaseName

Select-AzSubscription -Subscription $TargetSubscriptionID

Restore-AzSqlInstanceDatabase -FromGeoBackup `
    -GeoBackupObject $GeoBackup `
    -TargetInstanceDatabaseName $TargetDatabaseName `
    -TargetInstanceName $TargetSQLMI `
    -TargetResourceGroupName $TargetResourceGroupName

アドバイス、アイデアはありますか?必要に応じて、さまざまなAzure PowerShellのプレビューバージョンを使用してもかまいませんが、その違いを示すものは何も見つかりませんでした。

可能な回避策

同じサブスクリプションでマネージドインスタンスを立ち上げて復元し、マネージドインスタンスを別のサブスクリプションに移動できることを示すと思われるマイクロソフトの連絡先の1つからリンクを受け取りました。私はこれを試みたことがないので、わかりません。彼らが提供したリンクは here でしたが、その効果については疑問があります。

3
Jonathan Fite

現在、コピーのみのバックアップが唯一のソリューションです。現在、ソースサブスクリプションとターゲットサブスクリプションの両方で、イニシエーターに必要なすべての権限があることを確認できないため、クロスサブスクリプションのpitrおよびgeo復元は機能しません。

2
Jovanpop

Jovanpopの答え に追加するには、AKV統合、つまりBYOK TDEを使​​用している場合、他のサブスクリプションの宛先インスタンスが同じインスタンスにアクセスできる限り、TDEをオンにしてcopy_onlyバックアップを実行できるはずです。ソースインスタンスで使用される暗号化キー。

sameリージョンおよびsameテナントID(たとえば、同じ顧客/会社のみ)のクロスサブスクリプションPITRリストアは、EA、CSP、またはPayGoサブスクリプションの限定プレビューとしてのみ利用できます。今回(2020年4月)。これを使用してサポートチケットを作成する(EA/CSP/PayGoサブスクリプションを介して)Azureポータルにログインし、サポートオプション「自動バックアップまたはポイントインタイムリストア」を選択してサポートチケットを作成する必要があります。数日で限定プレビューの承認を受けることができます。お役に立てれば。

2
Danimir Ljepava