Dela via


Använd PowerShell för att uppdatera synkroniseringsschemat i en befintlig synkroniseringsgrupp

Gäller för:Azure SQL Database

Det här Azure PowerShell-exemplet uppdaterar synkroniseringsschemat i en befintlig SQL Data Sync-synkroniseringsgrupp. När du synkroniserar flera tabeller får du hjälp av det här skriptet att uppdatera synkroniseringsschemat på ett effektivt sätt. Det här exemplet visar hur skriptet UpdateSyncSchema används. Det finns på GitHub som UpdateSyncSchema.ps1.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Kommentar

Den här artikeln använder Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för interaktion med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet av ett kodblock. Om du väljer Prova kopieras koden inte automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Screenshot that shows how to launch Cloud Shell in a new window.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här kör du koden i den här artikeln i Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.

  3. Klistra in koden i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden.

Om du väljer att installera och använda PowerShell lokalt kräver den här självstudien Az PowerShell 1.4.0 eller senare. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.

En översikt över SQL Data Sync finns i Synkronisera data i flera moln och lokala databaser med Azure SQL Data Sync.

Viktigt!

SQL Data Sync stöder för närvarande inte Azure SQL Managed Instance.

Exempel

Lägga till alla tabeller i synkroniseringsschemat

I följande exempel uppdateras databasschemat och alla giltiga tabeller läggs till i synkroniseringsschemat i hubbdatabasen.

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

Lägga till och ta bort tabeller och kolumner

I följande exempel läggs [dbo].[Table1] och [dbo].[Table2].[Column1] till i synkroniseringsschemas, och [dbo].[Table3] tas bort.

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

Skriptparametrar

Skriptet UpdateSyncSchema innehåller följande parametrar:

Parameter Anteckningar
$subscriptionId Den prenumeration där synkroniseringsgruppen skapas.
$resourceGroupName Den resursgrupp där synkroniseringsgruppen skapas.
$serverName Hubbdatabasens servernamn.
$databaseName Hubbdatabasens namn.
$syncGroupName Synkroniseringsgruppens namn.
$memberName Ange medlemsnamnet om du vill läsa in databasschemat från synkroniseringsmedlemmen i stället för från hubbdatabasen. Lämna den här parametern tom om du vill läsa in databasschemat från hubben.
$timeoutInSeconds Tidsgräns när skriptet uppdaterar databasschemat. Standardvärdet är 900 sekunder.
$refreshDatabaseSchema Ange om skriptet behöver uppdatera databasschemat. Om databasschemat har ändrats från den tidigare konfigurationen (till exempel om du har lagt till en ny tabell eller en ny kolumn) måste du uppdatera schemat innan du konfigurerar om det. Standardvärdet är falskt.
$addAllTables Om värdet är true läggs alla giltiga tabeller och kolumner till i synkroniseringsschemat. Värdena för $TablesAndColumnsToAdd och $TablesAndColumnsToRemove ignoreras.
$tablesAndColumnsToAdd Ange tabeller eller kolumner som ska läggas till i synkroniseringsschemat. Alla tabell- och kolumnnamn måste vara helt avgränsade med schemanamnet. Exempel: [dbo].[Table1], [dbo].[Table2].[Column1]. Flera tabell- eller kolumnnamn kan anges och avgränsas med kommatecken (,).
$tablesAndColumnsToRemove Ange tabeller eller kolumner som ska tas bort från synkroniseringsschemat. Alla tabell- och kolumnnamn måste vara helt avgränsade med schemanamnet. Exempel: [dbo].[Table1], [dbo].[Table2].[Column1]. Flera tabell- eller kolumnnamn kan anges och avgränsas med kommatecken (,).

Förklaring av skript

Skriptet UpdateSyncSchema använder följande parametrar. Varje kommando i tabellen länkar till kommandospecifik dokumentation.

Command Anteckningar
Get-AzSqlSyncGroup Returnerar information om en synkroniseringsgrupp.
Update-AzSqlSyncGroup Uppdaterar en synkroniseringsgrupp.
Get-AzSqlSyncMember Returnerar information om en synkroniseringsmedlem.
Get-AzSqlSyncSchema Returnerar information om ett synkroniseringsschema.
Update-AzSqlSyncSchema Uppdaterar ett synkroniseringsschema.

Nästa steg

Mer information om Azure PowerShell finns i Azure PowerShell-dokumentationen.

Ytterligare PowerShell-skriptexempel för SQL Database finns i PowerShell-skript för Azure SQL Database.

Mer information om SQL Data Sync finns i:

Mer information om SQL Database finns i: