Partilhar via


Utilizar o PowerShell para atualizar o esquema de sincronização num grupo de sincronização existente

Aplica-se a:Banco de Dados SQL do Azure

Este exemplo do Azure PowerShell atualiza o esquema de sincronização em um grupo de sincronização de dados SQL existente. Este script ajuda-o a atualizar de forma eficiente o esquema de sincronização se estiver a sincronizar vários tablets. Este exemplo demonstra a utilização do script UpdateSyncSchema, que está disponível no GitHub como UpdateSyncSchema.ps1.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Nota

Este artigo usa o módulo Azure Az PowerShell, que é o módulo PowerShell recomendado para interagir com o Azure. Para começar a utilizar o módulo Azure PowerShell, veja Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Utilizar o Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um bloco de código. A seleção de Experimente não copia automaticamente o código para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Screenshot that shows how to launch Cloud Shell in a new window.
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para executar o código neste artigo no Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar num bloco de código para copiar o código.

  3. Cole o código na sessão do Cloud Shell selecionando Ctrl+Shift V no Windows e Linux ou selecionando Cmd+Shift++V no macOS.

  4. Selecione Introduzir para executar o código.

Se você optar por instalar e usar o PowerShell localmente, este tutorial exigirá o Az PowerShell 1.4.0 ou posterior. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell). Se estiver a executar localmente o PowerShell, também terá de executar o Connect-AzAccount para criar uma ligação com o 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.

Importante

A Sincronização de Dados SQL não oferece suporte à Instância Gerenciada SQL do Azure no momento.

Exemplos

Adicionar todas as tabelas ao esquema de sincronização

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.

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

Adicionar e remover tabelas e colunas

O exemplo seguinte adiciona [dbo].[Table1] e [dbo].[Table2].[Column1] ao esquema de sincronização e remove [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 script

O script UpdateSyncSchema tem os seguintes parâmetros:

Parâmetro Notas
$subscriptionId A subscrição na qual o grupo de sincronização é criado.
$resourceGroupName O grupo de recursos no qual o grupo de sincronização é criado.
$serverName O nome do servidor da base de dados de hub.
$databaseName O nome da base de dados de hub.
$syncGroupName O nome do grupo de sincronização.
$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. Se pretender carregar o esquema da base de dados do hub, deixe este parâmetro em branco.
$timeoutInSeconds O tempo limite para a atualização do esquema da base de dados por parte do script. A predefinição são 900 segundos.
$refreshDatabaseSchema Especifique se o script tem de atualizar o esquema da base de dados. Se o esquema do banco de dados foi alterado em relação à configuração anterior (por exemplo, se você adicionou uma nova tabela ou uma nova coluna), será necessário atualizar o esquema antes de reconfigurá-lo. A predefinição é falsa.
$addAllTables Se este valor for verdadeiro, todas as tabelas e colunas válidas são adicionadas ao esquema de sincronização. Os valores de $TablesAndColumnsToAdd e $TablesAndColumnsToRemove são ignorados.
$tablesAndColumnsToAdd Especifique as tabelas ou colunas que vão ser adicionadas ao esquema de sincronização. O nome de cada tabela ou coluna tem de ser totalmente delimitado pelo nome do esquema. Por exemplo: [dbo].[Table1], [dbo].[Table2].[Column1]. Vários nomes de tabelas ou colunas podem ser especificados e separados por uma vírgula (,).
$tablesAndColumnsToRemove Especifique as tabelas ou colunas que vão ser removidas do esquema de sincronização. O nome de cada tabela ou coluna tem de ser totalmente delimitado pelo nome do esquema. Por exemplo: [dbo].[Table1], [dbo].[Table2].[Column1]. Vários nomes de tabelas ou colunas podem ser especificados e separados por uma vírgula (,).

Explicação do script

O script UpdateSyncSchema utiliza os seguintes comandos. Cada comando na tabela liga à documentação específica do comando.

Command Notas
Get-AzSqlSyncGroup Retorna informações sobre um grupo de sincronização.
Update-AzSqlSyncGroup Atualiza um grupo de sincronização.
Get-AzSqlSyncMember Retorna informações sobre um membro de sincronização.
Get-AzSqlSyncSchema Retorna informações sobre um esquema de sincronização.
Update-AzSqlSyncSchema Atualiza um esquema de sincronização.

Próximos passos

Para obter mais informações sobre o Azure PowerShell, veja Documentação do Azure PowerShell.

Pode ver exemplos do script do PowerShell da Base de Dados SQL adicionais nos scripts do PowerShell da Base de Dados SQL do Azure.

Para obter mais informações sobre o SQL Data Sync, consulte:

Para obter mais informações sobre o Banco de dados SQL, consulte: