Udostępnij za pośrednictwem


Używanie programu PowerShell do zaktualizowania schematu synchronizacji w istniejącej grupie synchronizacji

Dotyczy: Azure SQL Database

Ważne

Usługa SQL Data Sync zostanie wycofana 30 września 2027 r. Rozważ migrację do alternatywnych rozwiązań replikacji/synchronizacji danych.

Ten przykład programu Azure PowerShell aktualizuje schemat synchronizacji w istniejącej grupie synchronizacji usługi SQL Data Sync. Podczas synchronizowania wielu tabel ten skrypt ułatwia wydajnie aktualizowanie schematu synchronizacji. W tym przykładzie przedstawiono użycie skryptu UpdateSyncSchema, który jest dostępny w witrynie GitHub jako UpdateSyncSchema.ps1.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Uwaga

W tym artykule użyto modułu Azure Az programu PowerShell, który jest zalecanym modułem programu PowerShell do interakcji z platformą Azure. Aby rozpocząć pracę z modułem Azure PowerShell, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Używanie usługi Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Wybranie pozycji Wypróbuj nie spowoduje automatycznego skopiowania kodu do środowiska Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Zrzut ekranu przedstawiający sposób uruchamiania usługi Cloud Shell w nowym oknie.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby uruchomić kod z tego artykułu w środowisku Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu, aby skopiować kod.

  3. Wklej kod do sesji usługi Cloud Shell, wybierając Ctrl+Shift+V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift+V w systemie macOS.

  4. Naciśnij klawisz Enter, aby uruchomić kod.

Jeśli zdecydujesz się zainstalować program PowerShell i używać go lokalnie, ten samouczek wymaga modułu Az PowerShell 1.4.0 lub nowszego. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.

Aby zapoznać się z omówieniem usługi SQL Data Sync, zobacz Co to jest usługa SQL Data Sync dla platformy Azure?

Usługa SQL Data Sync nie obsługuje usługi Azure SQL Managed Instance ani Azure Synapse Analytics.

Przykłady

Dodawanie wszystkich tabel do schematu synchronizacji

Poniższy przykład służy do odświeżania schematu bazy danych i dodawania wszystkich prawidłowych tabel w bazie danych centrum do schematu synchronizacji.

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

Dodawanie i usuwanie tabel i kolumn

Poniższy przykład służy do dodawania tabel [dbo].[Table1] i [dbo].[Table2].[Column1] do schematu synchronizacji oraz usuwania tabeli [dbo].[Table3].

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

Parametry skryptu

Skrypt UpdateSyncSchema ma następujące parametry:

Parametr Uwagi
$subscriptionId Subskrypcja, w ramach której tworzona jest grupa synchronizacji.
$resourceGroupName Grupa zasobów, w ramach której tworzona jest grupa synchronizacji.
$serverName Nazwa serwera bazy danych centrum.
$databaseName Nazwa bazy danych centrum.
$syncGroupName Nazwa grupy synchronizacji.
$memberName Określ nazwę elementu członkowskiego, jeśli schemat bazy danych ma zostać załadowany z elementu członkowskiego synchronizacji zamiast z bazy danych centrum. Jeśli schemat bazy danych ma zostać załadowany z centrum, pozostaw ten parametr pusty.
$timeoutInSeconds Limit czasu odświeżania schematu bazy danych przez skrypt. Wartość domyślna to 900 sekund.
$refreshDatabaseSchema Określ, czy skrypt ma odświeżać schemat bazy danych. Jeśli schemat bazy danych został zmieniony z poprzedniej konfiguracji (na przykład w przypadku dodania nowej tabeli lub nowej kolumny), przed ponownym skonfigurowaniem schematu należy odświeżyć. Wartość domyślna to „fałsz”.
$addAllTables Jeśli ta wartość to true, wszystkie prawidłowe tabele i kolumny zostaną dodane do schematu synchronizacji. Wartości parametrów $TablesAndColumnsToAdd i $TablesAndColumnsToRemove są ignorowane.
$tablesAndColumnsToAdd Określ tabelę lub kolumny do dodania do schematu synchronizacji. Wszystkie nazwy tabel lub kolumn muszą być w pełni rozdzielone od nazwy schematu. Przykład: [dbo].[Table1], [dbo].[Table2].[Column1]. Wiele nazw tabel lub kolumn można określić i rozdzielić przecinkami (,).
$tablesAndColumnsToRemove Określ tabele lub kolumny do usunięcia ze schematu synchronizacji. Wszystkie nazwy tabel lub kolumn muszą być w pełni rozdzielone od nazwy schematu. Przykład: [dbo].[Table1], [dbo].[Table2].[Column1]. Wiele nazw tabel lub kolumn można określić i rozdzielić przecinkami (,).

Objaśnienia dla skryptu

Skrypt UpdateSyncSchema używa następujących poleceń. Każde polecenie w tabeli stanowi link do dokumentacji polecenia.

Polecenie Uwagi
Get-AzSqlSyncGroup Zwraca informacje o grupie synchronizacji.
Update-AzSqlSyncGroup Aktualizuje grupę synchronizacji.
Get-AzSqlSyncMember Zwraca informacje o elemencie członkowskim synchronizacji.
Get-AzSqlSyncSchema Zwraca informacje o schemacie synchronizacji.
Update-AzSqlSyncSchema Aktualizuje schemat synchronizacji.

Aby uzyskać więcej informacji na temat programu Azure PowerShell, zobacz dokumentację programu Azure PowerShell.

Więcej przykładowych skryptów programu PowerShell dla usługi SQL Database można znaleźć w skryptach programu PowerShell dla usługi Azure SQL Database.

Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz:

Aby uzyskać więcej informacji na temat usługi SQL Database, zobacz: