none
Log Shipping RRS feed

  • Pergunta

  • Olá pessoal!!!

    Eu tenho o seguinte cenário:

    01 Servidor de produção onde tenho uma base de 50GB;
    01 Servidor de Relatorios para onde devo mandar essa base diariamente ou o diferencial para deixar este servidor sempre atualizado.

    Verificando sobre o Log Shipping, eu consigo fazer isso. Gostaria de saber se também consigo fazer o primeiro restore desta base de 50GB  no servidor 02 (de relatório) e diariamente copiar e restaurar só o diferencial para não ter que copiar todos os  50 GB do servidor 01 para o 02 todos os dias. Pelo que vi, com o Log Shipping, só consigo fazer o restore do full. Uma outra alternativa, seria o restore de backups de logs mas, desta forma precisaria manter o log no servidor 01 e isso iria crescer demais meus logs lá. Por gentileza, gostaria da opinão dos colegas para esse problema. Desde já agradeço pela costumeira ajuda.

    Abraços,

    PH.
    quarta-feira, 23 de dezembro de 2009 13:59

Respostas

  • Boa Tarde,

    Acho que o uso do Log Shipping é muito indicado, mas precisamos detalhar alguns pontos:

    Usar ou não o Log Shipping
    O Log Shipping só trabalha com backups de log. Você terá que restaurar uma base de 50GB no outro servidor e aplicar os logs do primeiro servidor no segundo servidor de tempos. A solução toda é controlada pelo SQL Server. Ou se usa desse jeito, ou não se usa o Log Shipping.

    Uso do Backup Full
    O backup full será necessário no início do processo para restaurar o servidor no servidor StandBy independente de qualquer implementação (manual, Log Shipping, Mirroring, etc). Depois do primeiro backup full, não é mais necessário nenhum backup full (a menos que o log shipping seja quebrado).

    Uso do Backup Diferencial
    O Diferencial pode até economizar os logs, mas ele não se aplica nesse caso. Como o diferencial reflete tudo após o último full, basta você tirar um full do principal, que ao tentar aplicá-lo no secundário irá gerar um erro (afinal o full recente do primário não será o mesmo full utilizado para inicializar o secundário). Isso só funcionaria se você nunca mais tirasse um full do primário. Além de se impraticável, o tamanho do diferencial iria crescer astronomicamente.

    Tamanho do Log
    Uma vez que o backup de log seja realizado, o tamanho do log é gerenciado. De forma nenhuma você precisará manter o log do servidor 01 muito grande.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Monitorando bloqueios com o uso de Recursive Common Table Expressions
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!885.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba quarta-feira, 30 de dezembro de 2009 20:15
    quarta-feira, 23 de dezembro de 2009 19:01
  • Bom Dia,

    O uso do Log Shipping permite utilização para relatórios. A base ficará em StandBy ao invés de Restoring. Entretanto, no momento de aplicação dos logs, os usuários conectados serão derrubados. Nesse ponto o Database Snapshot pode ser interessante, mas realmente essa feature só no Enterprise.

    A base no modo standby permitirá acesso somente de leitura, não será possível "alterar" a base que está em Standy apenas lê-la. Isso é necessário para manter a consistência, pois, se a base puder se alterada, não há garantias de que os logs poderão ser aplicados.

    Se você necessita ter os dados no servidor StandBy, mas quer alterá-los o Log Shipping não é uma solução adequada. Nesse caso, você terá que partir para a replicação. Haverá mais overhead e mais administração, mas as possibilidades são maiores. Entretanto, entendo que se o objetivo é apenas relatório, o log shipping deve atender perfeitamente

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!899.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba terça-feira, 5 de janeiro de 2010 11:35
    terça-feira, 5 de janeiro de 2010 11:05

Todas as Respostas

  • Boa Tarde,

    Acho que o uso do Log Shipping é muito indicado, mas precisamos detalhar alguns pontos:

    Usar ou não o Log Shipping
    O Log Shipping só trabalha com backups de log. Você terá que restaurar uma base de 50GB no outro servidor e aplicar os logs do primeiro servidor no segundo servidor de tempos. A solução toda é controlada pelo SQL Server. Ou se usa desse jeito, ou não se usa o Log Shipping.

    Uso do Backup Full
    O backup full será necessário no início do processo para restaurar o servidor no servidor StandBy independente de qualquer implementação (manual, Log Shipping, Mirroring, etc). Depois do primeiro backup full, não é mais necessário nenhum backup full (a menos que o log shipping seja quebrado).

    Uso do Backup Diferencial
    O Diferencial pode até economizar os logs, mas ele não se aplica nesse caso. Como o diferencial reflete tudo após o último full, basta você tirar um full do principal, que ao tentar aplicá-lo no secundário irá gerar um erro (afinal o full recente do primário não será o mesmo full utilizado para inicializar o secundário). Isso só funcionaria se você nunca mais tirasse um full do primário. Além de se impraticável, o tamanho do diferencial iria crescer astronomicamente.

    Tamanho do Log
    Uma vez que o backup de log seja realizado, o tamanho do log é gerenciado. De forma nenhuma você precisará manter o log do servidor 01 muito grande.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    Monitorando bloqueios com o uso de Recursive Common Table Expressions
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!885.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba quarta-feira, 30 de dezembro de 2009 20:15
    quarta-feira, 23 de dezembro de 2009 19:01
  • Olá Gustavo,

    muito obrigado pelas dicas. Vou implementar aqui conforme sua orientação. Mais uma vez obrigado por sua ajuda.

    Abraço,

    Paulo Henrique.
    quarta-feira, 30 de dezembro de 2009 20:14
  • Você já analisou a possibilidade de trabalhar com Database Snapshot ? Pode ser bem mais eficiente.





    Espero ter ajudado
    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
    segunda-feira, 4 de janeiro de 2010 12:52
  • Olá Anderson,

    neste momento estou configurando o Log Shipping, vamos ver como ficará. Infelizmente a versão que temos aqui é a Standard, e pelo que vi não consigo configurar o Snapshot nesta versão. Obrigado pela atenção e ajuda.

    Abraço,

    PH.
    • Editado phscuritiba terça-feira, 5 de janeiro de 2010 00:44
    segunda-feira, 4 de janeiro de 2010 13:20
  • A questão principal é que você não vai conseguir usar o Log Shipping como seu servidor de relatórios, por isso fiz o comentário. Afinal durante o processo de Log Shipping o banco vai no estado de restoring.


    Espero ter ajudado
    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
    segunda-feira, 4 de janeiro de 2010 15:12
  • Olá Anderson,

    obrigado novamente pela atenção. Foi a maneira que encontrei para fazer isso com o Standard. Estou configurando este e os outros databases para rodarem a noite e ficarem disponiveis para o pessoal durante o dia, infelizmente, com isso tenho este espaço de tempo das informações desatualizadas mas, é melhor do que manter os n... relatórios nos servidores de produção concorrendo com as aplicações, o que já está impactando na performance. Você poderia me indicar uma outra forma??? Desde já agradeço.

    Abraço,

    PH.
    segunda-feira, 4 de janeiro de 2010 17:53
  • Qual versão do SQL Server vc está utilizando ?
    Anderson - DBA/MCP/MCTS/MCITP/MCT - Sua pergunta foi respondida ? Marque-a como tal! www.myspace.com/andersondpa
    segunda-feira, 4 de janeiro de 2010 18:09
  • PH,

    Neste caso, será que a replicação não seria uma solução mais indicada?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    segunda-feira, 4 de janeiro de 2010 18:10
    Moderador
  • Olá Anderson,

    Estou usando o SQL Server Standard SPK2.

    Abraço,

    PH.
    terça-feira, 5 de janeiro de 2010 00:39
  • Caros,

    configurei o Log Shipping. Está gerando backup e copiando o arquivo normalmente. Entretanto, ele só faz o restore se eu deixar a base no server secundario como (standby) mas, após o restore do backup de log ele não coloca o database para uso, ele continua como (standby), na configuração do restore escolhi a opção (Standby Mode) e (Disconnect users in the database when restoring backups) e mesmo assim ele faz o procedimento somente como mencionei. Por gentileza, conseguem me ajudar??? Desde já agradeço.

    Abraços,

    PH.
    terça-feira, 5 de janeiro de 2010 00:57
  • Bom Dia,

    O uso do Log Shipping permite utilização para relatórios. A base ficará em StandBy ao invés de Restoring. Entretanto, no momento de aplicação dos logs, os usuários conectados serão derrubados. Nesse ponto o Database Snapshot pode ser interessante, mas realmente essa feature só no Enterprise.

    A base no modo standby permitirá acesso somente de leitura, não será possível "alterar" a base que está em Standy apenas lê-la. Isso é necessário para manter a consistência, pois, se a base puder se alterada, não há garantias de que os logs poderão ser aplicados.

    Se você necessita ter os dados no servidor StandBy, mas quer alterá-los o Log Shipping não é uma solução adequada. Nesse caso, você terá que partir para a replicação. Haverá mais overhead e mais administração, mas as possibilidades são maiores. Entretanto, entendo que se o objetivo é apenas relatório, o log shipping deve atender perfeitamente

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com

    A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!899.entry


    Classifique as respostas. O seu feedback é imprescindível
    • Marcado como Resposta phscuritiba terça-feira, 5 de janeiro de 2010 11:35
    terça-feira, 5 de janeiro de 2010 11:05
  • Bom dia Gustavo!!!

    Mais uma vez muito obrigado por seu esclarecimento e ajuda. Agora entendi perfeitamente e é isso mesmo, como será um servidor para relatório vou manter o Log Shipping. Obrigado pela atenção e ajuda.

    Abraço,

    PH.
    terça-feira, 5 de janeiro de 2010 11:35