Replicação de transações do banco de dados SQL Azure para o servidor SQL local

Tenho um caso de uso em que preciso manter um banco de dados SQL Server local sincronizado com meu banco de dados SQL do Azure.

Existe uma maneira de configurar a replicação / sincronização do banco de dados do Azure SQL para o banco de dados local?

Comentários

Resposta

A lista de artigos a seguir pode fornecer informações adequadas para você montar um Azure SQL Data Sync :

O SQL Data Sync é um serviço criado no Banco de Dados SQL do Azure que permite sincronizar os dados selecionados bidirecionalmente em vários bancos de dados SQL e instâncias do SQL Server.

( Ênfase minha)

Neste tutorial, você aprenderá a configurar o Azure SQL Data Sync criando um grupo de sincronização híbrido que contém ambos Instâncias do Banco de Dados SQL do Azure e do SQL Server . O novo grupo de sincronização está totalmente configurado e sincroniza de acordo com a programação que você definir.
[…]

Adicionar um Banco de Dados SQL do Azure

Na seção Banco de Dados de Membros, opcionalmente, adicione um Banco de Dados SQL do Azure para o grupo de sincronização selecionando Adicionar um Banco de Dados do Azure. A página Configurar Banco de Dados do Azure é aberta.

Na página Configurar Banco de Dados do Azure, faça o seguinte:

  1. No campo Nome do Membro de Sincronização, forneça um nome para o novo membro de sincronização. Esse nome é diferente do nome do próprio banco de dados.

  2. No campo Assinatura, selecione a assinatura do Azure associada para fins de cobrança.

  3. No campo Azure SQL Server, selecione o servidor de banco de dados SQL existente.

  4. No campo Azure SQL Database, selecione o banco de dados SQL existente.

  5. No campo Sincronizar direções, selecione Sincronização bidirecional, Para o hub ou Do hub.

  6. Nos campos Nome de usuário e Senha , insira as credenciais existentes para o servidor de banco de dados SQL no qual o banco de dados membro está localizado. Não insira novas credenciais nesta seção.

  7. Selecione OK e espere que o novo membro de sincronização seja criado e implantado.

Adicionar um banco de dados SQL Server local

Na seção Banco de dados de membros, opcionalmente, adicione um SQL Server local ao grupo de sincronização selecionando Adicionar um banco de dados local. A página Premises é aberta.

Na página Configure On-Premises, faça o seguinte:

  1. Selecione Choose the Sync Agent Gateway. A página Select Sync Agent é aberta .

  2. Na página Escolha o Gateway do Agente de Sincronização, escolha se deseja usar um agente existente ou criar um novo agente.

    Se você escolheu Agentes existentes, selecione o agente existente na lista.

    Se você escolher Criar um novo agente, faça o seguinte:

    a. Baixe o software do agente de sincronização do cliente a partir do link fornecido e instale-o no computador onde o SQL Server está localizado.

    Importante

Você deve abrir a porta TCP de saída 1433 no firewall para permitir que o agente cliente se comunique com o servidor.

b. Insira um nome para o agente.

c. Selecione Criar e gerar chave.

d. Copie a chave do agente para a área de transferência.

e. Selecione OK para fechar a página Selecionar Agente de Sincronização.

f. No computador SQL Server, localize e execute o aplicativo Client Sync Agent.

g. No aplicativo do agente de sincronização, selecione Enviar chave do agente. A caixa de diálogo Sync Metadata Database Configuration é aberta.

h. Na caixa de diálogo Configuração do Banco de Dados de Metadados de Sincronização, cole a chave do agente copiada do portal do Azure. Forneça também as credenciais existentes para o servidor de Banco de Dados SQL do Azure no qual o banco de dados de metadados está localizado. (Se você criou um novo banco de dados de metadados, este banco de dados está no mesmo servidor que o banco de dados de hub.) Selecione OK e aguarde a conclusão da configuração.

Observação Se você receber um erro de firewall neste ponto, terá que criar uma regra de firewall no Azure para permitir o tráfego de entrada de o computador SQL Server.Você pode criar a regra manualmente no portal, mas pode achar mais fácil criá-la no SQL Server Management Studio (SSMS). No SSMS, tente se conectar ao banco de dados de hub no Azure. Digite seu nome como <hub_database_name>.database.windows.net. Para configurar a regra de firewall do Azure, siga as etapas na caixa de diálogo. Em seguida, retorne ao aplicativo Client Sync Agent.

i. No aplicativo Client Sync Agent, clique em Registrar para registrar um banco de dados SQL Server com o agente. A caixa de diálogo Configuração do SQL Server é aberta. j. Na caixa de diálogo Configuração do SQL Server, escolha se deseja se conectar usando a autenticação do SQL Server ou a autenticação do Windows. Se você escolheu a autenticação do SQL Server, insira as credenciais existentes. Forneça o nome do SQL Server e o nome do banco de dados que deseja sincronizar. Selecione Testar conexão para testar suas configurações. Em seguida, selecione Salvar. O banco de dados registrado aparece na lista.

k. Agora você pode fechar o aplicativo Client Sync Agent.

l. No portal, na página Configure On-Premises, selecione Select the Database. A página Selecionar banco de dados é aberta.

m. Na página Selecionar banco de dados, no campo Nome do membro de sincronização, forneça um nome para o novo membro de sincronização. Este nome é diferente do nome do próprio banco de dados. Selecione o banco de dados na lista. No campo Sincronizar direções, selecione Sincronização bidirecional, Para o hub ou Do hub.

n. Selecione OK para fechar a página Selecionar banco de dados. Em seguida, selecione OK para fechar a página Configurar no local e esperar que o novo membro de sincronização seja criado e implantado. Finalmente, clique em OK para fechar a página Selecionar membros de sincronização.

  • Para se conectar ao SQL Data Sync e ao agente local, adicione seu nome de usuário à função DataSync_Executor. A sincronização de dados cria esta função na instância do SQL Server.

  • Etapa 3 – Configurar o grupo de sincronização

    Depois que os novos membros do grupo de sincronização são criados e implantados, A etapa 3, Configurar grupo de sincronização, é destacada na página Novo grupo de sincronização.

    1. Na página Tabelas, selecione um banco de dados da lista de membros do grupo de sincronização e selecione Atualizar esquema .

    2. Na lista de tabelas disponíveis, selecione as tabelas que deseja sincronizar.

    3. Por padrão, todas as colunas na tabela são selecionados. Se você não quiser sincronizar todas as colunas, desative a caixa de seleção das colunas que você não deseja sincronizar. Certifique-se de deixar a coluna de chave primária selecionada.

    4. Finalmente, selecione Salvar.

    O SQL Data Sync é um serviço criado no Banco de Dados SQL do Azure que permite sincronizar os dados selecionados bidirecionalmente em vários bancos de dados SQL e instâncias do SQL Server.

    A sincronização de dados é baseada no conceito de um grupo de sincronização. Um Grupo de sincronização é um grupo de bancos de dados que você deseja sincronizar.

    Comentários

    • Apenas anedoticamente, embora essas informações estejam corretas, tive um número significativo de problemas com a sincronização de dados do Azure a ponto de termos que abandoná-la como uma solução em nosso projeto. Isso não ‘ quer dizer que não ‘ funcionaria para o OP, apenas que há casos em que adicionar um monte de gatilhos para o banco de dados para manter o estado entre 2 servidores independentes não é ‘ a melhor solução.

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *