web-dev-qa-db-ja.com

Azureサブスクリプション間でAzure SQLデータベースをコピーする

要点を直視すると、これは可能ですか?

同じサブスクリプション内でAzure SQLデータベースを正常にコピーしました。その際、データベースを同じサーバー(サブスクリプション内)にコピーすることで、データベースをシンプルに保ちました。 PowershellコマンドAdd-AzureRmAccountNew-AzureRmSqlDatabaseCopyを使用しました。

Add-AzureRmAccountコマンドを2回(サブスクリプションごとに1回)実行しようとしましたが、New-AzureRmSqlDatabaseCopyコマンドが指定されたリソースグループ(ソースサブスクリプションに存在する)を見つけられないことを報告するため、これはコンテキストの最初のサブスクリプションを2番目のサブスクリプションに置き換えます。

つまり、これが可能である場合、実行する必要がある手順/コマンドは何ですか?

5
Jason Richmeier

別のリソースグループに新しいAzure SQL Serverを作成します。

New-AzureSqlDatabaseServer -Location "East US" -AdministratorLogin "AdminLogin" -AdministratorLoginPassword "AdminPassword"

ソースデータベースを新しく作成したAzure SQL Serverにコピーします。

Start-AzureSqlDatabaseCopy -ServerName "SourceServer" -DatabaseName "Orders" -PartnerServer "NewlyCreatedServer" -PartnerDatabase "OrdersCopy"

新しく作成したAzure SQL Serverのリソースグループを別のサブスクリプションに移動します。

Move-AzureRmResource -DestinationResourceGroupName [-DestinationSubscriptionId] -ResourceId [-Force] [-ApiVersion] [-Pre] [-DefaultProfile] [-InformationAction] [-InformationVariable] [-WhatIf] [-Confirm] []

2
Alberto Morillo

別のオプションは、Stackoverflowで Richard Hauerの回答 に従ってCREATE DATABASEを使用することです(SQL Server Management Studio v17.5から実行しました)。

CREATE DATABASE db_copy AS COPY OF ozabzw7545.db_original;

重要な注意事項:

  • SQL管理者アカウントとパスワードは両方のサーバーで同じでした。
  • サーバーは異なるサブスクリプションにありました。
  • サーバーは同じテナント上にあり、Azure PowerShellコンソール経由で次のように確認されました。

    (Get-AzureRmSubscription -SubscriptionName <your-source-subscription>).TenantId 
    (Get-AzureRmSubscription -SubscriptionName <your-destination-subscription>).TenantId
    

次の方法で進行状況を監視できます。

SELECT state_desc, name 
FROM sys.databases 

参照リンク:

2
Colin K

Start-AzureSqlDatabaseCopyNew-AzureRmSqlDatabaseCopyに名前が変更されました

New-AzureRmSqlDatabaseCopy
   [-DatabaseName] <String>
   [-Tags <Hashtable>]
   [-CopyResourceGroupName <String>]
   [-CopyServerName <String>]
   -CopyDatabaseName <String>
   [-AsJob]
   -ComputeGeneration <String>
   -VCore <Int32>
   [-LicenseType <String>]
   [-ServerName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Azureを使用してスナップショットからSQLデータベースのコピーを作成する

0
inspite