Utilizar o PowerShell para atualizar o esquema de sincronização num grupo de sincronização existenteUse PowerShell to update the sync schema in an existing sync group

APLICA-SE A: Base de Dados Azure SQL

Este exemplo Azure PowerShell atualiza o esquema de sincronização num grupo de sincronização de sincronização de dados SQL existente.This Azure PowerShell example updates the sync schema in an existing SQL Data Sync sync group. Este script ajuda-o a atualizar de forma eficiente o esquema de sincronização se estiver a sincronizar vários tablets.When you're syncing multiple tables, this script helps you to update the sync schema efficiently. Este exemplo demonstra a utilização do script UpdateSyncSchema, que está disponível no GitHub como UpdateSyncSchema.ps1.This example demonstrates the use of the UpdateSyncSchema script, which is available on GitHub as UpdateSyncSchema.ps1.

Se não tiver uma subscrição do Azure,crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin.

Nota

Este artigo foi atualizado para utilizar o módulo Azure Az PowerShell.This article has been updated to use the Azure Az PowerShell module. O módulo Az PowerShell é o módulo do PowerShell recomendado para interagir com o Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Para começar a utilizar o módulo Azure PowerShell, veja Instalar o Azure PowerShell.To get started with the Az PowerShell module, see Install Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Utilizar o Azure Cloud ShellUse Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Pode utilizar os comandos pré-instalados do Cloud Shell para executar o código neste artigo sem ter de instalar nada no ambiente local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Para iniciar o Azure Cloud Shell:To start Azure Cloud Shell:

OpçãoOption Exemplo/LigaçãoExample/Link
Selecione Experimentar no canto superior direito de um bloco de código.Select Try It in the upper-right corner of a code block. A seleção de Experimente não copia automaticamente o código para o Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Exemplo da opção Experimente para o Azure Cloud Shell
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell numa nova janelaLaunch Cloud Shell in a new window
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Botão Cloud Shell no portal do Azure

Para executar o código neste artigo no Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie o Cloud Shell.Start Cloud Shell.

  2. Selecione o botão Copiar num bloco de código para copiar o código.Select the Copy button on a code block to copy the code.

  3. Cole o código na sessão do Cloud Shell ao selecionar Ctrl+Shift+V no Windows e Linux ou Cmd+Shift+V no macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Selecione Introduzir para executar o código.Select Enter to run the code.

Se optar por instalar e utilizar o PowerShell localmente, este tutorial requer az PowerShell 1.4.0 ou mais tarde.If you choose to install and use PowerShell locally, this tutorial requires Az PowerShell 1.4.0 or later. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell).If you need to upgrade, see Install Azure PowerShell module. Se estiver a executar localmente o PowerShell, também terá de executar o Connect-AzAccount para criar uma ligação com o Azure.If you are running PowerShell locally, you also need to run Connect-AzAccount to create a connection with Azure.

Para obter uma descrição geral da Sincronização de Dados SQL, veja Sincronizar dados em várias bases de dados na cloud e no local com a Sincronização de Dados SQL do Azure.For an overview of SQL Data Sync, see Sync data across multiple cloud and on-premises databases with Azure SQL Data Sync.

Importante

O SQL Data Sync não suporta a Azure SQL Managed Instance neste momento.SQL Data Sync does not support Azure SQL Managed Instance at this time.

ExemplosExamples

Adicione todas as tabelas ao esquema de sincronizaçãoAdd all tables to the sync schema

O exemplo seguinte atualiza o esquema da base de dados e adiciona todas as tabelas válidas na base de dados de hub ao esquema de sincronização.The following example refreshes the database schema and adds all valid tables in the hub database to the sync schema.

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

Adicione e remova tabelas e colunasAdd and remove tables and columns

O exemplo seguinte adiciona [dbo].[Table1] e [dbo].[Table2].[Column1] ao esquema de sincronização e remove [dbo].[Table3].The following example adds [dbo].[Table1] and [dbo].[Table2].[Column1] to the sync schema and removes [dbo].[Table3].

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

Parâmetros do scriptScript parameters

O script UpdateSyncSchema tem os seguintes parâmetros:The UpdateSyncSchema script has the following parameters:

ParâmetroParameter NotasNotes
$subscriptionId$subscriptionId A subscrição na qual o grupo de sincronização é criado.The subscription where the sync group is created.
$resourceGroupName$resourceGroupName O grupo de recursos no qual o grupo de sincronização é criado.The resource group where the sync group is created.
$serverName$serverName O nome do servidor da base de dados de hub.The server name of the hub database.
$databaseName$databaseName O nome da base de dados de hub.The hub database name.
$syncGroupName$syncGroupName O nome do grupo de sincronização.The sync group name.
$memberName$memberName Indique o nome do membro se quiser carregar o esquema da base de dados a partir do membro de sincronização em vez da base de dados de hub.Specify the member name if you want to load the database schema from the sync member instead of from the hub database. Se pretender carregar o esquema da base de dados do hub, deixe este parâmetro em branco.If you want to load the database schema from the hub, leave this parameter empty.
$timeoutInSeconds$timeoutInSeconds O tempo limite para a atualização do esquema da base de dados por parte do script.Timeout when the script refreshes database schema. A predefinição são 900 segundos.Default is 900 seconds.
$refreshDatabaseSchema$refreshDatabaseSchema Especifique se o script tem de atualizar o esquema da base de dados.Specify whether the script needs to refresh the database schema. Se o seu esquema de base de dados mudou da configuração anterior (por exemplo, se tiver adicionado uma nova tabela ou uma nova coluna), terá de atualizar o esquema antes de o reconfigurar.If your database schema changed from the previous configuration (for example, if you added a new table or anew column), you need to refresh the schema before you reconfigure it. A predefinição é falso.Default is false.
$addAllTables$addAllTables Se este valor for verdadeiro, todas as tabelas e colunas válidas são adicionadas ao esquema de sincronização.If this value is true, all valid tables and columns are added to the sync schema. Os valores de $TablesAndColumnsToAdd e $TablesAndColumnsToRemove são ignorados.The values of $TablesAndColumnsToAdd and $TablesAndColumnsToRemove are ignored.
$tablesAndColumnsToAdd$tablesAndColumnsToAdd Especifique as tabelas ou colunas que vão ser adicionadas ao esquema de sincronização.Specify tables or columns to be added to the sync schema. O nome de cada tabela ou coluna tem de ser totalmente delimitado pelo nome do esquema.Each table or column name needs to be fully delimited with the schema name. Por exemplo: [dbo].[Table1], [dbo].[Table2].[Column1].For example: [dbo].[Table1], [dbo].[Table2].[Column1]. Vários nomes de tabelas ou colunas podem ser especificados e separados por uma vírgula (,).Multiple table or column names can be specified and separated by a comma (,).
$tablesAndColumnsToRemove$tablesAndColumnsToRemove Especifique as tabelas ou colunas que vão ser removidas do esquema de sincronização.Specify tables or columns to be removed from the sync schema. O nome de cada tabela ou coluna tem de ser totalmente delimitado pelo nome do esquema.Each table or column name needs to be fully delimited with schema name. Por exemplo: [dbo].[Table1], [dbo].[Table2].[Column1].For example: [dbo].[Table1], [dbo].[Table2].[Column1]. Vários nomes de tabelas ou colunas podem ser especificados e separados por uma vírgula (,).Multiple table or column names can be specified and separated by a comma (,).

Explicação do scriptScript explanation

O script UpdateSyncSchema utiliza os seguintes comandos.The UpdateSyncSchema script uses the following commands. Cada comando na tabela liga à documentação específica do comando.Each command in the table links to command-specific documentation.

ComandoCommand NotasNotes
Grupo Get-AzSqlSyncGet-AzSqlSyncGroup Devolve informações sobre um grupo de sincronização.Returns information about a sync group.
Atualização-AzSqlSyncGroupUpdate-AzSqlSyncGroup Atualiza um grupo de sincronização.Updates a sync group.
Get-AzSqlSyncMemberGet-AzSqlSyncMember Devolve informações sobre um membro sincronizado.Returns information about a sync member.
Get-AzSqlSyncSchemaGet-AzSqlSyncSchema Devolve informações sobre um esquema de sincronização.Returns information about a sync schema.
Atualização-AzSqlSyncSchemaUpdate-AzSqlSyncSchema Atualiza um esquema de sincronização.Updates a sync schema.

Passos seguintesNext steps

Para obter mais informações sobre o Azure PowerShell, veja Documentação do Azure PowerShell.For more information about Azure PowerShell, see Azure PowerShell documentation.

Pode ver exemplos do script do PowerShell da Base de Dados SQL adicionais nos scripts do PowerShell da Base de Dados SQL do Azure.Additional SQL Database PowerShell script samples can be found in Azure SQL Database PowerShell scripts.

Para obter mais informações sobre o SQL Data Sync, consulte:For more information about SQL Data Sync, see:

Para obter mais informações sobre a Base de Dados SQL, consulte:For more information about SQL Database, see: