Utiliser PowerShell pour mettre à jour le schéma de synchronisation dans un groupe de synchronisation existant
S’applique à : Azure SQL Database
Important
SQL Data Sync sera mis hors service le 30 septembre 2027. Envisagez de migrer vers d’autres solutions de réplication/synchronisation de données.
Cet exemple Azure PowerShell met à jour le schéma de synchronisation dans un groupe de synchronisation SQL Data Sync existant. Lorsque vous synchronisez plusieurs tables, ce script vous permet de mettre à jour efficacement le schéma de synchronisation. Cet exemple illustre l’utilisation du script UpdateSyncSchema, qui est disponible sur GitHub en tant que UpdateSyncSchema.ps1.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Notes
Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Utiliser Azure Cloud Shell
Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.
Pour démarrer Azure Cloud Shell :
Option | Exemple/Lien |
---|---|
Sélectionnez Essayer dans le coin supérieur droit d’un bloc de code. La sélection de Essayer ne copie pas automatiquement le code dans Cloud Shell. | |
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. | |
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. |
Pour exécuter le code de cet article dans Azure Cloud Shell :
Démarrez Cloud Shell.
Sélectionnez le bouton Copier dans un bloc de code pour copier le code.
Collez le code dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux, ou en sélectionnant Cmd+Maj+V sur macOS.
Sélectionnez Entrée pour exécuter le code.
Si vous choisissez d’installer et d’utiliser PowerShell localement, ce tutoriel nécessite Az PowerShell 1.4.0 ou ultérieur. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, vous devez également lancer Connect-AzAccount
pour créer une connexion avec Azure.
Pour une vue d’ensemble de SQL Data Sync, consultez la Présentation de SQL Data Sync pour Azure.
Azure SQL Data Sync ne prend pas en charge Azure SQL Managed Instance ou Azure Synapse Analytics.
Exemples
Ajouter toutes les tables au schéma de synchronisation
L’exemple suivant actualise le schéma de base de données et ajoute toutes les tables valides de la base de données Hub dans le schéma de synchronisation.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true
Ajouter et supprimer des tables et des colonnes
L’exemple suivant ajoute [dbo].[Table1]
et [dbo].[Table2].[Column1]
au schéma de synchronisation et supprime [dbo].[Table3]
.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"
Paramètres de script
Le script UpdateSyncSchema contient les paramètres suivants :
Paramètre | Notes |
---|---|
$subscriptionId | Abonnement dans lequel le groupe de synchronisation est créé. |
$resourceGroupName | Groupe de ressources dans lequel le groupe de synchronisation est créé. |
$serverName | Nom de serveur de la base de données Hub. |
$databaseName | Nom de la base de données Hub. |
$syncGroupName | Nom du groupe de synchronisation. |
$memberName | Spécifiez le nom du membre si vous voulez charger le schéma de base de données du membre de synchronisation au lieu de la base de données Hub. Si vous voulez charger le schéma de base de données à partir du Hub, laissez ce paramètre vide. |
$timeoutInSeconds | Délai d’attente pendant l’actualisation du schéma de base de données par le script. La valeur par défaut est de 900 secondes. |
$refreshDatabaseSchema | Spécifiez si le script doit actualiser le schéma de base de données. Si votre schéma de base de données a changé par rapport à la configuration précédente (par exemple si vous avez ajouté une nouvelle table ou une nouvelle colonne), vous devez actualiser le schéma avant de le reconfigurer. La valeur par défaut est false. |
$addAllTables | Si cette valeur est true, toutes les tables et colonnes valides sont ajoutées au schéma de synchronisation. Les valeurs de $TablesAndColumnsToAdd et $TablesAndColumnsToRemove sont ignorées. |
$tablesAndColumnsToAdd | Spécifiez les tables ou les colonnes à ajouter au schéma de synchronisation. Chaque nom de table ou de colonne doit être entièrement délimité avec le nom du schéma. Par exemple : [dbo].[Table1] , [dbo].[Table2].[Column1] . Vous pouvez spécifier plusieurs noms de tables ou de colonnes en les séparant par des virgules (,). |
$tablesAndColumnsToRemove | Spécifiez les tables ou les colonnes à supprimer du schéma de synchronisation. Chaque nom de table ou de colonne doit être entièrement délimité avec le nom du schéma. Par exemple : [dbo].[Table1] , [dbo].[Table2].[Column1] . Vous pouvez spécifier plusieurs noms de tables ou de colonnes en les séparant par des virgules (,). |
Explication du script
Le script UpdateSyncSchema utilise les commandes suivantes. Chaque commande du tableau renvoie à une documentation spécifique.
Commande | Notes |
---|---|
Get-AzSqlSyncGroup | Retourne des informations sur un groupe de synchronisation. |
Update-AzSqlSyncGroup | Met à jour un groupe de synchronisation. |
Get-AzSqlSyncMember | Retourne des informations sur un membre de synchronisation. |
Get-AzSqlSyncSchema | Retourne des informations sur un schéma de synchronisation. |
Update-AzSqlSyncSchema | Met à jour un schéma de synchronisation. |
Contenu connexe
Pour plus d’informations sur Azure PowerShell, consultez la documentation d’Azure PowerShell.
Vous trouverez des exemples supplémentaires de scripts SQL Database PowerShell sur la page Scripts PowerShell Azure SQL Database.
Pour plus d’informations sur SQL Data Sync, consultez :
- Vue d’ensemble - Synchroniser des données entre Azure SQL Database et SQL Server avec SQL Data Sync dans Azure
- Configuration de la synchronisation des données
- Utiliser le portail Azure - Tutoriel : Configurer SQL Data Sync pour synchroniser les données entre Azure SQL Database et SQL Server
- Utilisation de PowerShell
- Data Sync Agent - Data Sync Agent pour SQL Data Sync dans Azure
- Bonnes pratiques - Bonnes pratiques pour SQL Data Sync dans Azure
- Supervision – Superviser SQL Data Sync avec les journaux d’activité Azure Monitor
- Résolution des problèmes - Résoudre les problèmes liés à SQL Data Sync dans Azure
- Mise à jour du schéma de synchronisation
- Utiliser Transact-SQL - Automatiser la réplication des modifications de schéma dans SQL Data Sync dans Azure
Pour plus d’informations sur SQL Database, consultez :