none
Restore com problemas RRS feed

  • Pergunta

  • Ola Amigos.

    Estou com um problema em algumas bases de dados.

    Tenho um SQL Server 2000 onde algumas bases estao com o status de restored e não está conseguindo terminar. Ainda desconheço a causa raiz do problema. Se esse restore aconteceu com a clausula norecovery.

    O erro que está ocorrendo quando tento verificar as propriedades é esse:

    Error 927: Database 'BancoXYZ' cannot be opened. It is in the middle of a restore.

    Tentei executar o comando: RESTORE DATABASE 'BancoXYZ' WITH RECOVERY

    E mesmo assim não consigo coloca-lo no ar.

    Alguem consegue me ajudar sobre esse problema?

    Um forte abraço.

    Clayton Santos

    quinta-feira, 18 de fevereiro de 2010 13:24

Respostas

  • Olâ Ricardo, acho que encontrei o problema.

    Aqui, tenho acesso somente as ferramentas do SQL Server (2000, 2005 e 2008) e não tenho acesso direto ao servidor.
    Eu acessei o enterprise manager do 2000 e fiz uma tentativa de backup e percebi que o espaço em disco estava 0 (zero). O Enterprise Manager do SQL Server 2000 mostra nas pastas o espaço livre em disco, e isso facilitou que percebece essa falha.

    Acredito, me corrija se eu estiver errado, que ao tentar executar o restored faltou espaço no log para escrever e ficou em estado de restored aguardando espaço para continuar a tarefa.

    Liberei espaço ontem no final da tarde e hoje quando cheguei dos 10 bancos de dados que estavam neste estado, 3 confinuam e os outros 7 voltaram normal. Ou seja, conseguiram terminar o restored que começaram.

    Conseguir liberar mais espaço em disco hoje, vou redimencionar os tamanhos do banco de dados e também o auto grow para evitar problemas futuros.

    Agora, estou aguardando o termino do restored dos outros 3 bancos de dados.

    Essa é a solução do meu problema que encontrei. 

    Obrigado pelo apoio de todos!!!

    Clayton Santos
    • Marcado como Resposta Clayton Santos sexta-feira, 19 de fevereiro de 2010 13:42
    sexta-feira, 19 de fevereiro de 2010 13:42

Todas as Respostas

  • Clayton,

    Como foi feito o backup destas bases? Full? Differential? Log?
    http://ricardomura.spaces.live.com
    quinta-feira, 18 de fevereiro de 2010 14:02
  • Clayton,

    Você poderia demonstrar a sua rotina de backup?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 18 de fevereiro de 2010 14:09
    Moderador
  • Olâ Ricardo. É feito backup Full.

    Olâ Galvão.  A estratégia de backup não é feita de dentro do SQL Server e sim por um robô. Até onde sei o backup é feito full.

    Abraço

    quinta-feira, 18 de fevereiro de 2010 14:31
  • Clayton,

    É bastante complica indicar uma solução de restore sem saber como foi feito o backup, sugiro que você entre em contato com o suporte deste software de 3ºs para obter informações.
    Importante é que você não efetue novos backups ou se por algum motivo resolver fazê-lo (e conseguir) é usar a opção WITH COPY_ONLY. De ante-mão lhe aconselho a não ficar fazendo testes neste servidor.

    Se você tiver um servidor somente para testes aí sim, você pode ir testanto opções de restore.

    Nos logs do SQL Server (Error_logs) e nos históricos dos Jobs você poderá identificar o que ocasionou o problema ou ainda se alguém tentou efetuar um restore.

    O importante no momento acredito que seja não perder os dados do banco (e do backup).

    Os bancos não entraram em restoring... por vontade própria, algo aconteceu e isto deverá estar nos logs.
    http://ricardomura.spaces.live.com
    quinta-feira, 18 de fevereiro de 2010 16:42
  • Ola Ricardo.

    Sei que todos os backup sao feitos full. Mas na tentativa do restored ele deve ter travado em algum ponto. De ante mão nao estou conseguindo fazer voltar para o status online o banco. Queria resolver esse incidente e depois descobrir a causa raiz do problema.

    Há algum comando que consiga voltado ou terei que deletar esse banco e subir o backup?

    Abraço
    quinta-feira, 18 de fevereiro de 2010 16:48
  • Clayton,

    Qual é o status deste banco de dados neste momento?

    Você já tentou identificar qual transação esta bloqueando o restore?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 18 de fevereiro de 2010 16:52
    Moderador
  • Ola Galvão.

    Por exemplo, BD está assim:

    Banco (Restoring...)

    Mas fica nesse status ifinitamente e não consegue sair. No sp_who não me mostra nenhuma transação referente a esse banco.

    Abraço
    quinta-feira, 18 de fevereiro de 2010 18:10
  • Quando você chegou hoje já estava assim correto?
    Isto pode ter acontecido em função de uma falha (tipo um resset do servidor) durante algum processo pesado, quando o serviço do SQL  volta ele faz um rollback em tudo que não foi commitado e dependendo do tipo de processo (muitas alterações/inclusões sem commit) esse restoring aí que você está vendo é na verdade um rollback.

    Por esse motivo eu lhe falei de olhar os logs do SQL (e do windows tb), pois, neste caso a solução seria aguardar que o banco volte ao modo normal.
    Isto aconteceu comigo no SQL2000 algumas vezes.

    Junior, me corrija se estiver errado plz.

    Att,
    Ricardo Muramatsu

    http://ricardomura.spaces.live.com
    quinta-feira, 18 de fevereiro de 2010 19:17
  • Olâ Ricardo, acho que encontrei o problema.

    Aqui, tenho acesso somente as ferramentas do SQL Server (2000, 2005 e 2008) e não tenho acesso direto ao servidor.
    Eu acessei o enterprise manager do 2000 e fiz uma tentativa de backup e percebi que o espaço em disco estava 0 (zero). O Enterprise Manager do SQL Server 2000 mostra nas pastas o espaço livre em disco, e isso facilitou que percebece essa falha.

    Acredito, me corrija se eu estiver errado, que ao tentar executar o restored faltou espaço no log para escrever e ficou em estado de restored aguardando espaço para continuar a tarefa.

    Liberei espaço ontem no final da tarde e hoje quando cheguei dos 10 bancos de dados que estavam neste estado, 3 confinuam e os outros 7 voltaram normal. Ou seja, conseguiram terminar o restored que começaram.

    Conseguir liberar mais espaço em disco hoje, vou redimencionar os tamanhos do banco de dados e também o auto grow para evitar problemas futuros.

    Agora, estou aguardando o termino do restored dos outros 3 bancos de dados.

    Essa é a solução do meu problema que encontrei. 

    Obrigado pelo apoio de todos!!!

    Clayton Santos
    • Marcado como Resposta Clayton Santos sexta-feira, 19 de fevereiro de 2010 13:42
    sexta-feira, 19 de fevereiro de 2010 13:42