locked
Como restaurar um backup no SQL Server 2008? RRS feed

  • Discussão Geral

  • Não sei se minha dúvida seria neste local,mas lá vai. 

    Estou tentando restaurar no banco local e não o de produção, então eu me logo informando como nome do servidor o nome da minha máquina e autenticação do windows;

    Em seguida clico com o botão direito no banco que desejo restaurar o backup;

    Seleciono Tarefas -> Restaurar -> Banco de Dados;

    Em Origem da restauração clico na opção Dispositivo de origem e dps no botão com 3 pontinhos;

    Em seguida clico no botão Adicionar e seleciono o arquivo de Backup, depois clico no botão OK e o erro aparece:

     

    "Ocorreu uma exceção ao executar um lote ou uma instrução Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------
    INFORMAÇÕES ADICIONAIS:
     
    The file on device 'C:\Premium_Comp.bak' is not a valid Microsoft Tape Format backup set.
    RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Erro: 3242) ".
     

    O arquivo de backup eu copiei do FTP para a minha máquina, por isso o caminho está como "c:\Premium_Comp.bak".

    Alguém pode me ajudar?

    terça-feira, 21 de maio de 2013 18:35

Todas as Respostas

  • Elizabeth,

    Use restore verifyonly e poste aqui o resultado.

    http://msdn.microsoft.com/en-us/library/ms188902.aspx

    Pode ser que o backup está corrompido ou versões diferentes.

    Abs,

    Douglas

    terça-feira, 21 de maio de 2013 18:44
  • Elizabeth,

    Voce esta sendo informada que não esta valido este arquivo, apesar de dificil nos dias atuais corrupções em arquivos de backup podem acontecer alem da corrupção via transferencia do FTP. Tente repuxar o arquivo.


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Email: fabrizzio.antoniaci@gmail.com

    terça-feira, 21 de maio de 2013 18:48
    Moderador
  • Eu achei interessante,mas não entendi como funciona o restore verifyonly, seria um tipo de procedure que eu deveria rodar no banco? Eu gerei um arquivo de backup com a data de hoje e tentei restaurar, deu certo, mas eu preciso restaurar este arquivo, acho que a solução do restore melhor para o meu caso. Eu já tentei fazer o mesmo com os outros arquivos de backup e o mesmo erro acontece.
    terça-feira, 21 de maio de 2013 19:31
  • Obrigada pela resposta, eu já tentei fazer isso e o erro persiste.
    terça-feira, 21 de maio de 2013 19:32
  • Elizabeth, bom dia.

    Você pode usar assim:

     RESTORE VERIFYONLY FROM  DISK = ‘c:\Premium_Comp.bak

    quarta-feira, 22 de maio de 2013 14:23
  • Bom dia Douglas!

    Eu rodei este código e deu o seguinte erro:

    Mensagem 3242, Nível 16, Estado 1, Linha 2
    The file on device 'c:\Premium_Comp.bak' is not a valid Microsoft Tape Format backup set.
    Mensagem 3013, Nível 16, Estado 1, Linha 2
    VERIFY DATABASE is terminating abnormally.

    quarta-feira, 22 de maio de 2013 14:58
  • Elizabeth, boa tarde.

    Tente fazer o seguinte:

    RESTORE DATABASE database_name FROM backup_device WITH CONTINUE_AFTER_ERROR, [ NORECOVERY ]

    http://msdn.microsoft.com/pt-br/library/ms190952(v=sql.105).aspx

    abs,

    Douglas

    quarta-feira, 22 de maio de 2013 17:30
  • Eu tentei o seguinte (desculpe a minha ignorância, mas eu nunca trabalhei com isto):

    RESTORE DATABASE Premium_Comp FROM DISK = 'c:\Premium_Comp.bak' WITH CONTINUE_AFTER_ERROR, [ NORECOVERY ]

    E a mensagem foi:

    Mensagem 155, Nível 15, Estado 1, Linha 1

    'CONTINUE_AFTER_ERROR' is not a recognized RESTORE option.


    quarta-feira, 22 de maio de 2013 18:53
  • Ah isso por causa da versão do SQL

    Qual você está usando? Pelo que lembro essa opção era pro 2008

    quarta-feira, 22 de maio de 2013 19:38
  • SQL Server 2008 R2

    O nome do meu banco de dados é Premium e O arquivo é Premium_Comp.bak.

    Microsoft SQL Server Management Studio 10.50.1600.1
    Ferramentas de Cliente do Microsoft Analysis Service 10.50.1600.1
    Microsoft Data Access Components (MDAC) 3.85.1132
    Microsoft MSXML                         2.6 3.0 5.0 6.0 
    Microsoft Internet Explorer         8.0.6001.18702
    Microsoft .NET Framework         2.0.50727.3603
    Sistema Operacional                 5.1.2600


    quarta-feira, 22 de maio de 2013 19:45
  • Oi Elizabeth, bom dia.

    Desculpa a demora, agora que tive tempo, mas voltando ao assunto achei estranho não ter reconhecido, fiz um teste aqui mas no 2012 da seguinte maneira

    RESTORE DATABASE AdventureWorks2012 FROM DISK = 'c:\AdventureWorks2012-Full Database Backup.bak' 
    WITH 
      MOVE N'AdventureWorks2012_Data' TO N'C:\AdvWorks2012\AdventureWorks2012_Data.mdf'
    , MOVE N'AdventureWorks2012_Log' TO N'C:\AdvWorks2012\AdventureWorks2012_log.ldf'
    , CONTINUE_AFTER_ERROR
    , RECOVERY
    , REPLACE

    Aqui rodou normalmente, aceitando o CONTINUE_AFTER_ERROR mesmo a base não ter erro.

    quinta-feira, 23 de maio de 2013 14:42
  • Elizabeth,

    como lhe falei neste post

    http://forum.imasters.com.br/topic/497310-restaurar-backup-no-sql-server-2008/

    O backup (arquivo fisico) tem que estar em uma unidade do computador que esta instalado a instancia do SQL.

    Se você quer restaurar este backup em seu computador local, esta correto, e a mensagem sugere que seu backup esta corrompido (ou em formato invalido). Neste caso, sugiro você fazer um Backup pelo SQLServer ao invés de outras ferramentas/meios e tentar restaurar em seu computador.

     

    []´s

    quinta-feira, 23 de maio de 2013 20:59
  • Oi, obrigada pelo retorno. Eu tentei fazer o que você falou Advaldo, ou seja, gerei um backup manualmente direto do SQL Server e tentei restaurar no meu banco local, então exibiu uma nova mensagem de erro. Eu já tenho um backup muito antigo restaurado na minha máquina e estou tentando restaurar um arquivo mais atual. Esta foi a mensagem:

    Too many backup devices specified for backup or restore; only 64 are allowed.
    RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Erro: 3205)

    Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=08.00.0194&EvtSrc=MSSQLServer&EvtID=3205&LinkId=20476

     Muito obrigada!
    segunda-feira, 27 de maio de 2013 15:33
  • Oi Douglas! Boa tarde!

    Obrigada pelo retorno, tentei rodar este código e continuou dando o mesmo erro.

    segunda-feira, 27 de maio de 2013 15:34
  • Oi gente!

    Eu andei pesquisando sobre este erro e descobri que ele é muito comum quando se tenta fazer o mesmo com SQL Server 2005 e uma das soluções propostas seria atualizar com SP4 (SQL2000.MSDE-KB884525-SP4-x86-BRZ.EXE), mas o que eu não consegui saber é se possui alguma atualização para o SQL Server 2008 R2 ou se este SP4 serve também para o SQL Server 2008 R2?

    terça-feira, 28 de maio de 2013 13:45
  • Elizabeth,

    Você esta realizando o Backup em uma unidade de disco ou fita?

    Utilize o comando Restore HeaderOnly para obter informações sobre o cabeçalho do seu arquivo de backup.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sexta-feira, 31 de maio de 2013 01:02
    Moderador
  • Boa tarde!

    Estou fazendo o backup em uma unidade de disco.

    O nome do arquivo q eu quero restaurar é 'Premium_Comp.bak' e o meu banco é 'Premium'

    Eu não tenho domínio no uso deste comando 'Restore HeaderOnly', já tentei utilizar de várias formas e sempre apresenta um erro diferente, acredito q eu esteja usando a sintaxe errada, vcs teriam algum exemplo para me enviar?

    Obrigada
    quarta-feira, 5 de junho de 2013 17:58