Verwenden von PowerShell zum Aktualisieren des Synchronisierungsschemas in einer bestehenden Synchronisierungsgruppe
Gilt für: Azure SQL-Datenbank
Wichtig
SQL-Datensynchronisierung wird am 30. September 2027 ausgemustert. Erwägen Sie die Migration zu alternativen Datenreplikations-/Synchronisierungslösungen.
In diesem Azure PowerShell-Beispiel wird das Synchronisierungsschema in einer vorhandenen Synchronisierungsgruppe der SQL-Datensynchronisierung aktualisiert. Wenn Sie mehrere Tabellen synchronisieren, hilft Ihnen dieses Skript beim effizienten Aktualisieren des Synchronisierungsschemas. Dieses Beispiel veranschaulicht die Verwendung des Skripts UpdateSyncSchema, das auf GitHub als UpdateSyncSchema.ps1 verfügbar ist.
Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.
Hinweis
In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Verwenden von Azure Cloud Shell
Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.
Starten von Azure Cloud Shell:
Option | Beispiel/Link |
---|---|
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert. | |
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. | |
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
Ausführen des Codes in diesem Artikel in Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.
Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.
Drücken Sie die EINGABETASTE, um den Code auszuführen.
Wenn Sie PowerShell lokal installieren und nutzen möchten, müssen Sie für dieses Tutorial mindestens die Version 1.4.0 von Azure PowerShell verwenden. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount
ausführen, um eine Verbindung mit Azure herzustellen.
Eine Übersicht über die SQL-Datensynchronisierung finden Sie unter Was ist die SQL-Datensynchronisierung für Azure?
Azure SQL Managed Instance oder Azure Synapse Analytics werden nicht von SQL-Datensynchronisierung unterstützt.
Beispiele
Hinzufügen aller Tabellen zum Synchronisierungsschema
Im folgenden Beispiel wird das Datenbankschema aktualisiert, und dem Synchronisierungsschema werden alle gültigen Tabellen in der Hub-Datenbank hinzugefügt.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true
Hinzufügen und Entfernen von Tabellen und Spalten
Im folgenden Beispiel werden dem Synchronisierungsschema [dbo].[Table1]
und [dbo].[Table2].[Column1]
hinzugefügt und [dbo].[Table3]
entfernt.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"
Skriptparameter
Das Skript UpdateSyncSchema weist die folgenden Parameter auf:
Parameter | Notizen |
---|---|
$subscriptionId | Das Abonnement, in dem die Synchronisierungsgruppe erstellt wird |
$resourceGroupName | Die Ressourcengruppe, in der die Synchronisierungsgruppe erstellt wird |
$serverName | Der Servername der Hub-Datenbank |
$databaseName | Der Name der Hub-Datenbank |
$syncGroupName | Der Name der Synchronisierungsgruppe |
$memberName | Geben Sie den Namen des Elements an, wenn Sie das Datenbankschema aus dem Synchronisierungselement und nicht aus der Hub-Datenbank laden möchten. Wenn Sie das Datenbankschema vom Hub laden möchten, lassen Sie diesen Parameter leer. |
$timeoutInSeconds | Das Timeout, nach dem das Skript das Datenbankschema aktualisiert. Der Standardwert ist 900 Sekunden. |
$refreshDatabaseSchema | Geben Sie an, ob das Skript das Datenbankschema aktualisieren muss. Wenn das Datenbankschema gegenüber der früheren Konfiguration geändert wurde (z. B. wenn Sie eine neue Tabelle oder Spalte hinzugefügt haben), müssen Sie das Schema aktualisieren, bevor Sie es neu konfigurieren. Der Standardwert ist "false". |
$addAllTables | Wenn dieser Wert TRUE ist, werden dem Synchronisierungsschema alle gültigen Tabellen und Spalten hinzugefügt. Die Werte von $TablesAndColumnsToAdd und $TablesAndColumnsToRemove werden ignoriert. |
$tablesAndColumnsToAdd | Geben Sie Tabellen oder Spalten an, die dem Synchronisierungsschema hinzugefügt werden sollen. Jeder Name einer Tabelle oder Spalte muss vollständig vom Schemanamen getrennt werden. Beispiel: [dbo].[Table1] , [dbo].[Table2].[Column1] . Bei Angabe von mehreren Tabellen- oder Spaltennamen können diese durch ein Komma (,) voneinander getrennt werden. |
$tablesAndColumnsToRemove | Geben Sie Tabellen oder Spalten an, die aus dem Synchronisierungsschema entfernt werden sollen. Jeder Name einer Tabelle oder Spalte muss vollständig vom Schemanamen getrennt werden. Beispiel: [dbo].[Table1] , [dbo].[Table2].[Column1] . Bei Angabe von mehreren Tabellen- oder Spaltennamen können diese durch ein Komma (,) voneinander getrennt werden. |
Erläuterung des Skripts
Das Skript UpdateSyncSchema verwendet die folgenden Befehle. Jeder Befehl in der Tabelle ist mit der zugehörigen Dokumentation verknüpft.
Befehl | Notizen |
---|---|
Get-AzSqlSyncGroup | Gibt Informationen zu einer Synchronisierungsgruppe zurück. |
Update-AzSqlSyncGroup | Aktualisiert eine Synchronisierungsgruppe |
Get-AzSqlSyncMember | Gibt Informationen zu einem Synchronisierungselement zurück. |
Get-AzSqlSyncSchema | Gibt Informationen zu einem Synchronisierungsschema zurück. |
Update-AzSqlSyncSchema | Aktualisiert ein Synchronisierungsschema |
Zugehöriger Inhalt
Weitere Informationen zu Azure PowerShell finden Sie in der Azure PowerShell-Dokumentation.
Zusätzliche PowerShell-Skriptbeispiele für SQL-Datenbank finden Sie unter Azure PowerShell-Beispiele für Azure SQL-Datenbank.
Weitere Informationen zur SQL-Datensynchronisierung finden Sie unter:
- Übersicht: Synchronisieren von Daten zwischen Azure SQL-Datenbank und SQL Server mit der SQL-Datensynchronisierung in Azure
- Einrichten der Datensynchronisierung
- Verwenden des Azure-Portals: Tutorial: Einrichten der SQL-Datensynchronisierung zum Synchronisieren von Daten zwischen Azure SQL-Datenbank und SQL Server
- Verwenden von PowerShell
- Datensynchronisierungs-Agent: Datensynchronisierungs-Agent für die SQL-Datensynchronisierung in Azure
- Bewährte Methoden: Bewährte Methoden für die SQL-Datensynchronisierung in Azure
- Überwachung: Überwachen der SQL-Datensynchronisierung mit Azure Monitor-Protokollen
- Problembehandlung: Behandeln von Problemen mit der SQL-Datensynchronisierung in Azure
- Aktualisieren des Synchronisierungsschemas
- Verwenden von Transact-SQL: Automatisieren der Replikation von Schemaänderungen in der SQL-Datensynchronisierung in Azure
Weitere Informationen zu SQL-Datenbank finden Sie hier: