Primeiros passos com o SQL Azure DataSync


Olá pessoal,

Algumas pessoas me perguntaram como poderiam manter sincronizados seus bancos de dados com instâncias em outros locais, seja em um outro Datacenter do Azure ou ainda em um SQL Server local de forma automatizada, para essa tarefa, o Windows Azure possui o SQL Azure DataSync.

Com o DataSync podemos criar grupos de sincronização utilizando 2 ou mais databases, estejam eles no SQL Server ou no SQL Azure (sendo que ao menos 1 é obrigatório que pertença ao SQL Azure). No decorrer dos passos vocês verão que conseguiremos definir, por exemplo, quais as bases de dados que farão parte do grupo, os critérios de sincronismo utilizando filtros, a periodicidade que irá ocorrer, entre outros.

Partindo da idéia de que você nunca utilizou o DataSync ou é a primeira vez que o utilizará nesta máquina (lê-se máquina esta que você está utilizando neste momento), dividiremos este processo em três partes: Configuração do DataSync (I e II) e Instalação do agente.

No meu cenário utilizarei um banco de dados padrão criado na instalação de WordPress no SQL Azure e faremos o sincronismo dele com um banco de dados novo no meu SQL Server local.

Então vamos colocar a “mão na massa”!!!!!!

Pré-requisitos para o SQL Azure DataSync

  • Possuir um LiveId ativo no Windows Azure, esta subscrição pode ser paga ou free. Confira através deste link http://www.windowsazure.com/pt-br/pricing/free-trial/
  • Possuir uma conta ativa no SQL Azure com ao menos 1 servidor e um database criado e configurado.
  • Se for trabalhar com base de dados local você deverá ter instalado ao menos 1 SQL Server 2005 SP3.

Valores para o SQL Azure DataSync

Na versão Preview (versão disponível até o momento que finalizei este post) não existe custo, porém, futuramente na v1.0 pode ser estipulado algum tipo de cobrança como, por exemplo, os custos já conhecidos de transferências de informações no Azure.

Configuração do SQL Azure Data Sync – Parte I

Antes de iniciarmos toda a parte de criação e configuração gostaria de apenas deixá-los informados do porquê ter dividido em Parte I e Parte II. Esta divisão ocorreu pois entre estas partes teremos a etapa de instalação de um “agente” na nossa máquina local com algumas configurações. Essa divisão ficará mais fácil para você entender em que parte do processo você se encontra.

Neste exemplo, criaremos um grupo de sincronismo bem simples onde teremos, neste cenário, apenas uma base de dados no SQL Azure e outra em meu ambiente local, que sincronizará toda a minha base de dados do SQL Azure para a minha base de dados no meu ambiente local.

Então, para iniciarmos, acesso o portal do desenvolvedor (www.windows.azure.com) e clique no menu Data Sync localizado no menu do lado direito do portal.

Na área central do seu portal aparecerão as opções do DataSync. A primeira coisa que faremos será “Provisionar“ um novo servidor. Clique na caixa “Servidor de Visualização de Sincronização de Dados de Provisão” (conforme imagem abaixo), em seguida serão apresentados os termos de uso, LEIA COM ATENÇÂO e, concordando com os termos, assinale a caixa concordando e clique em avançar.

SQLAzureDataSyncI

Em seguida, selecione qual subscription irá vincular o Server do Data Sync.

SQLAzureDataSyncII

Nesta próxima tela, selecione em qual região o Server deverá ser criado.

SQLAzureDataSyncIII

Feitas as ecolhas que já estamos acostumados a fazer sempre que inciamos um novo serviço no Windows Azure, iniciaremos as configurações específicas para o Data Sync. Nessa etapa, como representado na imagem abaixo, defina um nome para o Grupo de Sincronismo, este nome deve ser único.

SQLAzureDataSyncIV 

Neste passo temos que fazer duas configurações. Como estamos criando nosso primeiro Grupo de Sincronização escolheremos a segunda opção “Adicionar um novo banco de dados do SQL Server ao grupo de sincronização” e definiremos qual a “Direção de Sincronização”.

Para o nosso tutorial, que tem como cenário um banco de dados do SQL Azure e outro no SQL server, as opções são:

  • Sincronizar PARA O Hub: Toda atualização que seja efetuada na base de dados do SQL Server será feita no SQL Azure.
  • Sincronizar DO Hub: Toda atualização que seja efetuada na base de dados do SQL Azure será feita no SQL Server.
  • Bidirecional: A atualização será feita em ambos de acordo.

SQLAzureDataSyncV

Nesta fase, incluíremos um Banco de Dados do SQL Server em nosso Grupo de Sincronismo, para isso será necessário instalar um agente, portanto, selecione a opção “Instalar um novo Agente” e clique em “Avançar” .

SQLAzureDataSyncVI

Aqui chegamos ao fim da primeira parte e partiremos para a instalação do “Agente”. Uma nova tela aparecerá com 3 etapas para a instalação, sendo que na primeira, realize o download do agente, na segunda dê um nome ao agente e na terceira, clique em ‘”Gerar Chave do Agente” para ser utilizada na configuração do cliente.

Gere a chave e anote o valor para ser utilizado nos próximos passos.

SQLAzureDataSyncVII

Instalação do SQL Azure Data Sync Agent

Para instalar, você precisa ter realizado o donwload do “agente”, conforme os passos acima, ou atraves da URL http://www.microsoft.com/download/en/details.aspx?id=27693 (conforme imagem) e inicie a instalação.

SQLAzureDataSyncVIII

Prossiga com a instalção padrão…

SQLAzureDataSyncIX

Chegará em um ponto onde você deverá entrar com as credenciais de Administrador, seja de uma rede que você faça parte ou simplesmente administrador da sua máquina.

Caso você não entre com informações corretas receberá notíficações como:

  • “Service SQL Azure Data Sync…Verify that you have sufficient privileges to install system services.”
  • “…This may indicate a problem with this package. The error code is 2203”.
  • “You need to be an administrator to install this product”.

Para que isso não ocorra entre com as informações de Domains\User ou simplesmente localcomputer\localuser (que nada mais é do que o [Nome da máquina]\[Nome do usuário]), algo como Escritorio\Lucas (nome fictício para exemplificar).

LoginInstall

Configuração do SQL Azure Data Sync Agent

Primeiramente, acesse o Microsoft SQL Azure Data Sync Agent Preview.

IcodeDataSyncAgent

Após carregar o SQL Azure Data Sync Preview, aparecerão apenas duas opções disponíveis, clique em “Submit Agent Key Configuration”, insira a chave gerada (conforme mencionado acima) e clique em ok.

SQLAzureDataSyncXII

Submetida a chave gerada, agora é o momento em que incluiremos as credencias do SQL Server. No meu exemplo, utilizo uma autenticação via Windows e entrei com as informações do meu Server e o nome do meu banco de dados (Database). Após inserir as informações, clique em “Test Connection” para validar as informações e clique em “Save”.

SQLAzureDataSyncXIII

Feita a configuração, efetuaremos o teste de comunicação entre o agente e o serviço do SQL Azure DataSync, para isso selecione o banco de dados e clique em “Ping Sync Service”.

SQLAzureDataSyncXIV

Após receber a mensagem de sucesso, basta clicar em ok.

PingAgent

Configuração do SQL Azure Data Sync – Parte II

Feitas as configurações do agente que resultaram na seleção da base de dados do SQL Server do meu ambiente on premises, agora é hora de efetuarmos as demais configurações no SQL Azure Data Sync.

Efetuado o passo 1 (instalação do agente), clique no botão “Obter Lista de Banco de Dados” para que o Data Sync faça a comunicação com o agente e retorne a lista com todos os bancos de dados que foram configurados (em nosso exemplo apenas um banco de dados foi mapeado).

Selecione o banco de dados na lista apresentada na “Etapa 3” e clique em “Concluir”.

SQLAzureDataSyncXV

Nesta etapa incluiremos nosso banco de dados existente no SQL Azure, para isso basta clicar na caixa apresentada abaixo (observe que logo abaixo existe uma representação dos meus bancos de dados locais configurados).

Uma nova janela será aberta para que você insira as informações de Servidor e as Credenciais de Acesso:

  • Nome do servidor do SQL Azure: [NomeDoServidor].database.windows.net
  • Nome do Banco de Dados do SQL Azure: [NomeBancoDeDados]
  • ID de Usuário: [IdDeUsuário] – Usuário definido no SQL Azure
  • Senha: [Senha] – Senha referente ao ID mencionado acima que pode ser gerenciado no SQL Azure

Antes de clicar em “Adicionar” efetue o teste de conexão para verificar suas credencias de acesso ao SQL Azure clicando no botão “Testar”, sendo bem sucedida clique em “Adicionar”.

SQLAzureDataSyncXVI

SQLAzureDataSyncXVII

Na tela a seguir, você definirá os critérios que serão sincronizados em cada banco de dados configurado, selecionando tabelas e critérios de linha, caso queira sincronizar apenas algumas linhas com critérios específicos.

SQLAzureDataSync18

No próximo passo defina a periodicidade do sincronismo, no meu exemplo defini sendo a cada 30 minutos e caso haja conflitos de informações quem terá a prioridade (Hub ou Cliente).

SQLAzureDataSync19

Enfim chegamos em nossa última etapa e para finalizá-la basta simplesmente clicar em “Implantar”…

SQLAzureDataSync20

…e você terá uma tela parecida com a abaixo!

SQLAzureDataSync21

Por último, caso queira acompanhar, você ainda tem a opção de acompanhar os “Logs”. Para isso clique em “Verificar Log” e visualize de acordo com sua necessidade aplicando filtros.

SQLAzureDataSync22

Finalizando o sincronismo, meu banco de dados do SQL Server ficou assim:

BancoDeDadosLocal

Espero que este post seja útil. Caso tenham alguma dúvida ou sugestão, fiquem à vontade em comentar.

Um grande abraço e sucesso.

=)

Lucas A. Romão – Windows Azure MVP
LinkedIn: http://br.linkedin.com/in/lucasromao
MSN: lucas_romao@hotmail.com
Blog: https://laromao.wordpress.com | Twitter: @LucasRomao
 Comunidade Azure Services Brasil | Twitter: @AzureServicesBR

  1. 8 de abril de 2012

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: