Melhor maneira de replicar / espelhar centenas de bancos de dados no SQL 2005

4

Atualmente, hospedo em torno de 400-500 bancos de dados SQL 2005 de tamanhos variados (1-10 gig) cada. Estou ciente da maioria dos diferentes métodos disponíveis e das vantagens / desvantagens gerais do espelhamento, envio de log, replicação e clustering, mas não estou ciente de quão bem eles tendem a executar quando são empregados no tamanho que eu especifiquei (400- 500 bancos de dados únicos ).

Alguém tem algum bom conselho sobre qual é provavelmente o melhor método para ter a capacidade de fazer o failover para outro servidor com esse tipo de configuração?

O failover não precisa ser imediato, estou procurando algo melhor do que fazer backups todos os dias e movê-los para o armazenamento. De preferência, estou procurando por algo que também facilita o gerenciamento dos bancos de dados em massa (em vez de um por vez).

Obrigado pela sua contribuição!

    
por TRS-80 07.09.2009 / 00:28

4 respostas

1

Você deve conversar com seu fornecedor de armazenamento e ver se ele fornece replicação baseada em hardware. Será muito mais rápido do que qualquer outra solução que você possa apresentar.

Estou executando 3 bancos de dados razoavelmente grandes e os replico pela SAN, tanto para backup (backup feito na réplica), verificações dbcc e propósitos hot standby. Foi um pesadelo para montar no início, mas uma vez configurado funciona muito bem.

Eu tenho 3 bancos de dados de 8 a 12 TB cada - hospedados no EMC SAN, cada um sendo executado em um servidor diferente. Primeiro, reproduzimos na mesma SAN, montamos em um host diferente conectado à SAN e usamos a cópia replicada para fazer backups off-line, verificações de DBCC e relatórios em lote. Usamos o gerenciador de replicação para isso.

Também fazemos cópia SAN para SAN a cada 3 dias para um backup de segunda linha.

Foi um pesadelo para montar - nos levou um bom tempo. Fomos transferidos da EMC para a Dell e voltamos. Depois de gritar com eles, eles finalmente enviaram alguém que realmente sabia o que estava fazendo. Eu queria ir com Netapp como eu tenho um pouco de experiência com isso, mas foi anulado por chefes. Aparentemente, a Dell ofereceu-lhes um melhor contrato de leasing.

Para ser justo, nos serviu muito bem nos últimos dois anos.

HTH

    
por 07.09.2009 / 00:32
1

Adivinhe que sua solução de alvo irá girar em torno da questão de o que você realmente quer?

Se você estiver após o HA, então, na minha opinião, talvez você queira considerar o Clustering levando em conta o número de bancos de dados em uma única instância (suponho que esse seja o caso).

Se você está atrás da capacidade de DR e preocupado com a sua infraestrutura de armazenamento, então estamos falando de um segundo site (lógico ou físico) e opções disponíveis em torno desse cenário. O espelhamento nesse caso estaria fora da janela para muitos bancos de dados. Logshipping é uma opção, mas a capacidade de gerenciamento será um problema, como corretamente apontado por Farseeker. Além disso, a replicação falha com preocupações semelhantes.

Eu acho que isso nos deixa com uma replicação possivelmente baseada em hardware, como sugerido por Farseeker e no_one acima. Isso pode ser combinado com o recurso de clustering do Windows2008 para fornecer excelentes recursos de HA e DR. Embora nestes tempos econômicos difíceis, possa ser uma solução mais cara.

Outra opção radical pode ser investir em algo como HP Polyserve ou Gridscale de Xkoto .

Espero que isso ajude.

    
por 08.09.2009 / 12:44
0

Usamos o Log Shipping para um servidor em espera e, como ele funciona com os arquivos de log, o impacto no servidor (além da cópia inicial) é insignificante.

Nós executamos o nosso a cada 15 minutos (temos cerca de 75 bancos de dados), mas eu suspeito que em 500 bancos de dados a cada 15 minutos significaria que, quando o último terminasse, o primeiro estaria atrasado, então você pode precisar espalhar o seu um pouco.

Você pode criar scripts para a configuração de envio de logs, mas precisa ser configurado nos dois lados (Original e Destino). Eu suspeito que poderia ser um punhado.

A outra opção é o backup em nível de bloco, como nenhum_alvo sugeriu. Doubletake tem um produto que fará replicação em nível de bloco do seu servidor SQL (eu acredito que é muito opção cara para um produto já caro) - basta apontar para seus dados e pastas de registro e ele cuidará do resto.

Usamos o DoubleTake para outros bancos de dados não-SQL (BTrieve) e funcionou muito bem, e a latência na replicação foi de apenas 20 segundos ou mais.

    
por 08.09.2009 / 07:10
0

Eu usei o DoubleTake pelo último ano. Isso nos permitiu replicar 70 a 90 (contar bancos de dados crescentes mensais) para um DR com bastante rapidez e alta compactação. Como Farseeker afirmou, permite uma replicação em nível de bloco que funciona muito bem. Ele também permite uma fila para aqueles momentos em que há uma carga transacional pesada.

O único problema que realmente vejo na sua instância é o quão pesado são esses bancos de dados? Eu tenho pelo menos 5 bancos de dados acima da marca de 10gb com um alto volume de dados transacionais durante os horários de pico e trabalhos, cerca de 1 a 3gb por dia por banco de dados. Em todas as transferências para cima de 800 + gb sobre o fio mensalmente (comprimido é MUITO menos claro). Desde que adicionei mais de 20 bancos de dados nos últimos 15 meses, vi um IO excessivamente alto relacionado ao enfileiramento de disco. Por isso, pode ser um problema tentar usar algo assim se a maioria de seus bancos de dados estiver muito ocupada. Você pode acabar com os dados perdidos ou com o recebimento final se tiver muito enfileirado e seu link cair. Claro que isso só importaria para uma implantação de DR. Mas ficar de olho nele e ajustar a largura de banda ajudará muito a manter a fila baixa.

    
por 22.03.2010 / 21:56