Usare PowerShell per aggiornare lo schema di sincronizzazione in un gruppo di sincronizzazione esistente

Si applica a: Database SQL di Azure

Importante

Sincronizzazione dati SQL verrà ritirato il 30 settembre 2027. Valutare la possibilità di eseguire la migrazione a soluzioni alternative per la replica/sincronizzazione dei dati.

Questo esempio di Azure PowerShell aggiorna lo schema di sincronizzazione in un gruppo di sincronizzazione dati SQL esistente. Quando si sincronizzano più tabelle, questo script consente di aggiornare lo schema di sincronizzazione in modo efficiente. Questo esempio illustra l'uso dello script UpdateSyncSchema, disponibile su GitHub come UpdateSyncSchema.ps1.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Nota

Questo articolo usa il modulo di PowerShell Azure Az consigliato per l'interazione con Azure. Per iniziare a usare il modulo Az PowerShell, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Usare Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice. La selezione di Prova non comporta la copia automatica del codice in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Screenshot che mostra come avviare Cloud Shell in una nuova finestra.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per eseguire il codice di questo articolo in Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice per copiare il codice.

  3. Incollare il codice nella sessione di Cloud Shell premendo CTRL+MAIUSC+V in Windows e Linux o CMD+MAIUSC+V in macOS.

  4. Premere INVIO per eseguire il codice.

Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario Az PowerShell 1.4.0 o versione successiva. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount per creare una connessione con Azure.

Per una panoramica di Sincronizzazione dati SQL, vedere Che cos’è Sincronizzazione dati SQL per Azure?

Sincronizzazione dati SQL non supporta Istanza gestita di SQL di Azure o Azure Synapse Analytics.

Esempi

Aggiungere tutte le tabelle allo schema di sincronizzazione

Nell'esempio seguente viene aggiornato lo schema del database e vengono aggiunte tutte le tabelle valide nel database hub allo schema di sincronizzazione.

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

Aggiungere e rimuovere tabelle e colonne

L'esempio seguente vengono aggiunte la tabella [dbo].[Table1] e la colonna [dbo].[Table2].[Column1] allo schema di sincronizzazione e viene rimossa la tabella [dbo].[Table3].

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

Parametri di script

Lo script UpdateSyncSchema include i parametri seguenti:

Parametro Note
$subscriptionId Sottoscrizione in cui viene creato il gruppo di sincronizzazione.
$resourceGroupName Gruppo di risorse in cui viene creato il gruppo di sincronizzazione.
$serverName Nome server del database hub.
$databaseName Nome del database hub.
$syncGroupName Nome del gruppo di sincronizzazione.
$memberName Per caricare lo schema del database dal membro di sincronizzazione anziché dal database hub, specificare il nome del membro. Per caricare lo schema del database dall'hub, lasciare vuoto questo parametro.
$timeoutInSeconds Timeout durante l'aggiornamento dello schema del database da parte dello script. Il valore predefinito è 900 secondi.
$refreshDatabaseSchema Specificare se lo script deve aggiornare lo schema del database. Se lo schema del database è stato modificato rispetto alla configurazione precedente, ad esempio se è stata aggiunta una nuova tabella o una nuova colonna, è necessario aggiornarlo prima di riconfigurarlo. Il valore predefinito è false.
$addAllTables Se questo valore è true, tutte le colonne e le tabelle valide vengono aggiunte allo schema di sincronizzazione. I valori di $TablesAndColumnsToAdd e $TablesAndColumnsToRemove vengono ignorati.
$tablesAndColumnsToAdd Specificare le tabelle e le colonne da aggiungere allo schema di sincronizzazione. Ogni nome di tabella o di colonna deve essere completamente delimitato dal nome dello schema. Ad esempio: [dbo].[Table1], [dbo].[Table2].[Column1]. È possibile specificare più nomi di tabella o di colonna, separati da una virgola (,).
$tablesAndColumnsToRemove Specificare le tabelle o le colonne da rimuovere dallo schema di sincronizzazione. Ogni nome di tabella o di colonna deve essere completamente delimitato dal nome dello schema. Ad esempio: [dbo].[Table1], [dbo].[Table2].[Column1]. È possibile specificare più nomi di tabella o di colonna, separati da una virgola (,).

Spiegazione dello script

Lo script UpdateSyncSchema usa i comandi seguenti. Ogni comando della tabella include collegamenti alla documentazione specifica del comando.

Comando Note
Get-AzSqlSyncGroup Restituisce informazioni su un gruppo di sincronizzazione.
Update-AzSqlSyncGroup Aggiorna un gruppo di sincronizzazione.
Get-AzSqlSyncMember Restituisce informazioni su un membro di sincronizzazione.
Get-AzSqlSyncSchema Restituisce informazioni su uno schema di sincronizzazione.
Update-AzSqlSyncSchema Aggiorna uno schema di sincronizzazione.

Per altre informazioni su Azure PowerShell, vedere la documentazione di Azure PowerShell.

Per altri esempi, vedere tra gli script di PowerShell per database SQL di Azure.

Per altre informazioni sulla sincronizzazione dati SQL, vedere:

Per altre informazioni sul database SQL, vedere: