it-swarm.com.de

Kopieren der Azure SQL-Datenbank zwischen Azure-Abonnements

Ist das überhaupt möglich, um auf den Punkt zu kommen?

Ich habe eine Azure SQL-Datenbank innerhalb desselben Abonnements erfolgreich kopiert. Dabei habe ich es einfach gehalten, indem ich die Datenbank auf denselben Server (innerhalb des Abonnements) kopiert habe. Ich habe die Powershell-Befehle Add-AzureRmAccount Und New-AzureRmSqlDatabaseCopy Verwendet.

Ich habe versucht, Add-AzureRmAccount Zweimal auszuführen (einmal für jedes Abonnement), aber dies scheint das erste Abonnement durch das zweite im Kontext zu ersetzen, da der Befehl New-AzureRmSqlDatabaseCopy Meldet, dass die angegebene Ressourcengruppe nicht gefunden werden kann (die im Quellabonnement vorhanden ist).

Alles was gesagt wurde, wenn dies möglich ist, welche Schritte/Befehle muss ich ausführen?

5
Jason Richmeier

Erstellen Sie einen neuen Azure SQL Server in einer anderen Ressourcengruppe.

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

Kopieren Sie die Quellendatenbank auf den neu erstellten Azure SQL Server.

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

Verschieben Sie die Ressourcengruppe des neu erstellten Azure SQL-Servers in ein anderes Abonnement.

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

2
Alberto Morillo

Eine andere Option ist die Verwendung von CREATE DATABASE, gemäß Richard Hauers Antwort auf Stackoverflow (den ich in SQL Server Management Studio v17.5 ausgeführt habe):

CREATE DATABASE db_copy AS COPY OF ozabzw7545.db_original;

Einige wichtige Hinweise:

  • SQL-Administratorkonto und Kennwort waren auf beiden Servern gleich.
  • Server hatten unterschiedliche Abonnements.
  • Die Server befanden sich auf demselben Mandanten und wurden über die Azure PowerShell-Konsole überprüft mit:

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

Sie können den Fortschritt überwachen mit:

SELECT state_desc, name 
FROM sys.databases 

Referenzlinks:

2
Colin K

Start-AzureSqlDatabaseCopy Wurde in New-AzureRmSqlDatabaseCopy Umbenannt.

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>]

Verwenden von Azure zum Erstellen einer Kopie der SQL-Datenbank aus einem Snapshot

0
inspite