Pour aller droit au but, est-ce même possible?
J'ai copié avec succès une base de données Azure SQL dans le même abonnement. Ce faisant, je suis resté simple en copiant la base de données sur le même serveur (dans l'abonnement). J'ai utilisé les commandes Powershell Add-AzureRmAccount
Et New-AzureRmSqlDatabaseCopy
.
J'ai essayé d'exécuter le Add-AzureRmAccount
Deux fois (une fois pour chaque abonnement) mais cela semble remplacer le premier abonnement par le second dans le contexte car la commande New-AzureRmSqlDatabaseCopy
Signale qu'elle ne peut pas trouver le groupe de ressources spécifié (qui existe dans l'abonnement source).
Cela dit, si c'est quelque chose qui est possible, quelles sont les étapes/commandes que je dois exécuter?
Créez un nouveau Azure SQL Server sur un autre groupe de ressources.
New-AzureSqlDatabaseServer -Location "East US" -AdministratorLogin "AdminLogin" -AdministratorLoginPassword "AdminPassword"
Copiez la base de données source sur Azure SQL Server nouvellement créé.
Start-AzureSqlDatabaseCopy -ServerName "SourceServer" -DatabaseName "Orders" -PartnerServer "NewlyCreatedServer" -PartnerDatabase "OrdersCopy"
Déplacez le groupe de ressources d'Azure SQL Server nouvellement créé vers un autre abonnement.
Move-AzureRmResource -DestinationResourceGroupName [-DestinationSubscriptionId] -ResourceId [-Force] [-ApiVersion] [-Pre] [-DefaultProfile] [-InformationAction] [-InformationVariable] [-WhatIf] [-Confirm] []
Une autre option consiste à utiliser CREATE DATABASE
, selon réponse de Richard Hauer sur Stackoverflow (que j'ai exécuté à partir de SQL Server Management Studio v17.5):
CREATE DATABASE db_copy AS COPY OF ozabzw7545.db_original;
Quelques notes importantes:
Les serveurs étaient sur le même locataire, vérifiés via la console Azure PowerShell avec:
(Get-AzureRmSubscription -SubscriptionName <your-source-subscription>).TenantId
(Get-AzureRmSubscription -SubscriptionName <your-destination-subscription>).TenantId
Vous pouvez suivre les progrès avec:
SELECT state_desc, name
FROM sys.databases
Liens de référence:
Start-AzureSqlDatabaseCopy
a été renommé New-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>]
tilisation d'Azure pour créer une copie de la base de données SQL à partir d'un instantané