none
Compactar arquivos de bkp no SQL 2005 RRS feed

  • Pergunta

  • Bom dia PessoALL,

    Alguém sabe como faço para compactar arquivos de backup no sql 2005?

    Sei que no 2000 pode ser utilizado a SPO  xp_makecab

     

    Obrigado,

     

     

    sexta-feira, 13 de junho de 2008 13:33

Respostas

  • Olá Alex,

     

    Verifique a possibilidade de comprar uma ferramenta de backup. Ela possui mecanismos de compressão próprios que podem "aliviar" o SQL Server

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 24 de junho de 2008 19:21

Todas as Respostas

  • Olá Alex,

     

    Nem o SQL Server 2000 e nem o 2005 possuem mecanismos nativos de compactação (a xp_makecab não é nativa do SQL Server). Você pode tentar utilizar essa SP no 2005 (em tese, por ser um XP não há quebra de compatibilidade).

     

    Outra alternativas seria procurar o utilitário WZZIP que representa o Winzip em linha de comando. Você pode usar um XP_CMDSHELL para disparar os comandos de ZIP e compactar os backups.

     

    Em ambas as alternativas, deixar o SQL Server responsável por compactar backups pode comprometer seu desempenho já que uma área maior de memória será utilizada para esse processo. O ideal seria construir um aplicativo a parte para compactar os backups. Isso não comprometeria o SQL Server.

     

    [ ]s,

     

    Gustavo

     

    sexta-feira, 13 de junho de 2008 15:00
  • Obrigado Gustavo, sera que vc pode me dar as dicas para que eu possa fazer funcionar no SQL 2005?

     

    sexta-feira, 13 de junho de 2008 16:12
  • Olá Alex,

     

    Qual das implementações você quer utilizar ?

     

    [ ]s,

     

    Gustavo

     

    sexta-feira, 13 de junho de 2008 16:59
  • Oi Gustavo,

    Gostaria de utilizar a compactação pela XSP (xp_makecab) com sql 2005.

     

    Obrigado,

     

    sexta-feira, 13 de junho de 2008 18:00
  • Olá Alex,

     

    Sugiro que você copie a DLL xprepl.dll presente em uma instalação do SQL Server 2000. Essa é a DLL responsável pela procedure xp_makecab. Posteriormente, renomeie essa DLL e cole-a na pasta do SQL Server 2005 (ex: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn).

     

    Feito isso, basta registrar essa XP. Ex:

     

    sp_addextendedproc @functname = 'xp_makecab' , @dllname = 'CaminhoCompletodaDll'

     

    Claro que essa procedure além de ser uma XP não é documentada e não há a menor garantia desse processo funcionar e mais ainda ser seguro. Eu recomendaria que logo que possível que você optasse por outra alternativa. É sabido que tarefas de backup (ainda mais com XPs) pode comprometer a área de memória do SQL Server podendo levar a problemas de desempenho e esgotamento de memória (falo por experiência própria).

     

    [ ]s,

     

    Gustavo

    sexta-feira, 13 de junho de 2008 18:26
  • Bom dia Gustavo,

    Valeu pela dica, só que tenho mais um problema(hehe), este processo só pode compactar arquivos de backup com menos de 2gb.....

     

    Sabe se tem alguma forma de contornar este problema?

     

    Obrigado,

     

    terça-feira, 17 de junho de 2008 13:54
  • Bom Dia,

     

    Por essas e outras que esse tipo de operação não deve ficar a cargo do SQL Server.

     

    Você pode tentar utilizar o WZZIP e WZUNZIP que são utilitários de linha de comando do Winzip. Eles podem fazer compactação de arquivos superiores a 100GB (já testei)

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 17 de junho de 2008 14:09
  • Olá,

    ok vou verificar, pois essa solução tem que ser comprada.

     

    Obrigado,

    terça-feira, 24 de junho de 2008 18:10
  • Olá Alex,

     

    Verifique a possibilidade de comprar uma ferramenta de backup. Ela possui mecanismos de compressão próprios que podem "aliviar" o SQL Server

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 24 de junho de 2008 19:21