PowerShell gebruiken voor het bijwerken van het synchronisatieschema in een bestaande synchronisatiegroep

Van toepassing op: Azure SQL Database

Met dit Azure PowerShell-voorbeeld werkt u het synchronisatieschema bij in een bestaande synchronisatiegroep van SQL Data Sync. Wanneer u meerdere tabellen synchroniseert, helpt dit script u om het synchronisatieschema efficiënt bij te werken. In dit voorbeeld wordt het gebruik van het script UpdateSyncSchema gedemonstreerd, dat beschikbaar is op GitHub als UpdateSyncSchema.ps1.

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Notitie

In dit artikel wordt gebruikgemaakt van de Azure Az PowerShell-module. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Azure Cloud Shell gebruiken

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Nu proberen in de rechterbovenhoek van een codeblok. Als u Uitproberen selecteert, wordt de code niet automatisch gekopieerd naar Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Screenshot that shows how to launch Cloud Shell in a new window.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Screenshot that shows the Cloud Shell button in the Azure portal

Om de code in dit artikel in Azure Cloud Shell uit te voeren:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok om de code te kopiëren.

  3. Plak de code in de Cloud Shell-sessie door Ctrl+Shift+V te selecteren in Windows en Linux of door Cmd+Shift+V in macOS te selecteren.

  4. Selecteer Invoeren om de code uit te voeren.

Als u PowerShell lokaal wilt installeren en gebruiken, is voor deze zelfstudie Az PowerShell 1.4.0 of hoger vereist. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om verbinding te kunnen maken met Azure.

Zie Gegevens synchroniseren tussen meerdere cloud- en on-premises databases met SQL Data Sync voor een overzicht van SQL Data Sync.

Belangrijk

SQL Data Sync biedt op dit moment geen ondersteuning voor Azure SQL Managed Instance.

Voorbeelden

Alle tabellen toevoegen aan het synchronisatieschema

In het volgende voorbeeld wordt het databaseschema vernieuwd en worden alle geldige tabellen in de hubdatabase aan het synchronisatieschema toegevoegd.

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true

Tabellen en kolommen toevoegen en verwijderen

In het volgende voorbeeld worden [dbo].[Table1] en [dbo].[Table2].[Column1] aan het synchronisatieschema toegevoegd en wordt [dbo].[Table3] verwijderd.

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"

Scriptparameters

Het script UpdateSyncSchema heeft de volgende parameters:

Parameter Opmerkingen
$subscriptionId Het abonnement waarin de synchronisatiegroep wordt gemaakt.
$resourceGroupName De resourcegroep waarin de synchronisatiegroep wordt gemaakt.
$serverName De servernaam van de hubdatabase.
$databaseName De naam van de hubdatabase.
$syncGroupName De naam van de synchronisatiegroep.
$memberName Geef de lidnaam op als u het databaseschema wilt laden uit het synchronisatielid in plaats van uit de hubdatabase. Als u het databaseschema uit de hub wilt laden, laat u deze parameter leeg.
$timeoutInSeconds Time-out waarna het script het databaseschema vernieuwt. De standaardwaarde is 900 seconden.
$refreshDatabaseSchema Geef aan of het script het databaseschema moet vernieuwen. Als uw databaseschema na de vorige configuratie is gewijzigd, (bijvoorbeeld als u een nieuwe tabel of kolom hebt toegevoegd) moet u het schema vernieuwen voordat u het opnieuw configureert. Standaard ingesteld op onwaar.
$addAllTables Als deze waarde op waar is ingesteld, worden alle geldige tabellen en kolommen aan het synchronisatieschema toegevoegd. De waarden van $TablesAndColumnsToAdd en $TablesAndColumnsToRemove worden genegeerd.
$tablesAndColumnsToAdd Hier kunt u opgeven welke tabellen en kolommen aan het synchronisatieschema moeten worden toegevoegd. Elke tabel- of kolomnaam moet volledig worden gescheiden met de schemanaam. Bijvoorbeeld: [dbo].[Table1], [dbo].[Table2].[Column1]. U kunt meerdere tabel- of kolomnamen opgeven, gescheiden door een komma (,).
$tablesAndColumnsToRemove Hier kunt u opgeven welke tabellen en kolommen uit het synchronisatieschema moeten worden verwijderd. Elke tabel- of kolomnaam moet volledig worden gescheiden met de schemanaam. Bijvoorbeeld: [dbo].[Table1], [dbo].[Table2].[Column1]. U kunt meerdere tabel- of kolomnamen opgeven, gescheiden door een komma (,).

Uitleg van het script

Het script UpdateSyncSchema gebruikt de volgende opdrachten. Elke opdracht in de tabel is een koppeling naar opdracht-specifieke documentatie.

Command Opmerkingen
Get-AzSqlSyncGroup Hiermee wordt informatie over een synchronisatiegroep geretourneerd.
Update-AzSqlSyncGroup Werkt een synchronisatiegroep bij.
Get-AzSqlSyncMember Hiermee wordt informatie over een sync-lid geretourneerd.
Get-AzSqlSyncSchema Hiermee wordt informatie over een synchronisatieschema geretourneerd.
Update-AzSqlSyncSchema Werkt een synchronisatieschema bij.

Volgende stappen

Raadpleeg de documentatie over Azure PowerShell voor meer informatie over Azure PowerShell.

Aanvullende voorbeelden van SQL Database PowerShell-scripts vindt u in Azure SQL Database PowerShell-scripts.

Zie de volgende onderwerpen voor meer informatie over SQL Data Sync:

Meer informatie over SQL Database vindt u in: