Envio de log em tabelas selecionadas

2

Sei que provavelmente estou usando terminologia incorreta, então, corrija-me se eu usar os termos incorretos para que eu possa pesquisar melhor.

Temos um banco de dados muito grande no site de um cliente e gostaríamos de ter cópias atualizadas de algumas das tabelas enviadas pela Internet para nossos servidores em nosso escritório. Gostaríamos de copiar apenas algumas das tabelas porque o requisito de largura de banda para fazer o envio de logs de todo o banco de dados (nossa solução atual) é muito alto. Também a replicação diretamente para nossos servidores está fora de questão, já que nossos servidores não são acessíveis pela Internet e o gerenciamento não quer fazer replicação (mais sobre isso depois).

Uma idéia possível que tivemos foi fazer alguma forma de replicação nas tabelas que precisamos para outro banco de dados no mesmo servidor e fazer o envio do segundo banco de dados menor, mas a administração está preocupada que os clientes quebraram a replicação dois servidores em sua rede interna no entanto) sobre nós no passado e gostaria de ficar longe dele, se possível.

Qualquer recomendação seria muito apreciada. Se usar alguma forma de replicação é a única solução, não sou contra a replicação, só preciso de argumentos convincentes para convencer a gerência a fazê-lo.

Isso deve ser configurado em vários sites que estão executando o Sql2005 ou o Sql2008. Nós teremos as duas versões do nosso lado para restaurar os dados para que isso não seja um problema.

Obrigado.

    
por Scott Chamberlain 18.03.2011 / 16:33

4 respostas

1

Você examinou o Microsoft Sync Framework ? Esta é uma tecnologia de sincronização de dados da Microsoft que suporta SQL Server e outros armazenamentos de dados, suporta a sincronização de subconjuntos desses armazenamentos de dados (apenas tabelas específicas ou outras coisas) e, claro, a Microsoft tenta integrá-lo em várias de suas pilhas de tecnologia. / p>

Aqui está uma pergunta StackOverflow "relacionada" Posso sincronizar apenas um subconjunto das minhas tabelas? ". O tempo demais; não leu a resposta é sim você pode.

Isso deve economizar um tempo significativo para a implementação de uma solução personalizada.

    
por 18.03.2011 / 22:10
0

Você praticamente cobriu as duas opções disponíveis para você. A menos que você queira criar algum tipo de solução SQL Service Broker ou algo semelhante, mas isso ainda exigirá conectividade entre os dois servidores. Com base no que você descreveu, a replicação do SQL Server entre seu servidor e o seu seria a solução correta para o problema.

    
por 18.03.2011 / 20:23
0

A única coisa em que consigo pensar é implementar sua própria solução. Isso é o que eu faria:

Um lote que é executado no servidor que faz um bcp out dump da tabela, zipá-lo e colocá-lo em um FTP.

Um segundo lote em execução no seu escritório verifica o FTP regularmente, se encontrar um novo arquivo, descompacta-o, executa DELETE FROM [tablename] e, em seguida, um bcp in do arquivo descompactado.

    
por 18.03.2011 / 21:11
0

Se eles puderem quebrar a replicação, provavelmente eles poderão quebrar qualquer outra coisa que você configurou. Eu provavelmente iria com replicação transacional ou de mesclagem (com algum envio de log, se necessário), e certifique-se de script as etapas de configuração para o assinante assim você só tem que acertar F5 algumas vezes para reparar o que eles falham. p>     

por 18.03.2011 / 23:19