Aproveitando o assunto Apagão, como o que aconteceu essa madrugada (10/11/2009) em SP e mais um monte de lugares, é até comum, quando há problemas com os NoBreaks e Geradores, ocorrer algum problema com os servidores de banco de dados e eles voltarem como Suspects.
Basicamente, se não houver problemas muito mais sérios, a receita é:
EXEC sp_resetstatus 'Nome_BancoDados';
ALTER DATABASE Nome_BancoDados SET EMERGENCY
DBCC checkdb('Nome_BancoDados')
ALTER DATABASE Nome_BancoDados SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('Nome_BancoDados', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE Nome_BancoDados SET MULTI_USER
quarta-feira, 11 de novembro de 2009
Assinar:
Postar comentários (Atom)
perfeito ... muito obrigado !!!
ResponderExcluirShow de bola.
ResponderExcluirSalvou a minha pele.
Muito obrigado pela ajuda. Salvou o dia!
ResponderExcluirVocê não salvou só a minha pele, foi o corpo todo.
ResponderExcluirFaço questão de te agradecer em nome de todos aqueles que não sabem nada de SQL.
Perfeito, funcionou perfeitamente, após uma queda de energia no cliente.
ResponderExcluirSó queria dar uma dica extra, no caso de bancos que tenham o traço "-" como um dos caracteres no nome dele, nos comandos em que o nome do banco não estejam com aspas ou parenteses como este: ALTER DATABASE Nome_BancoDados SET EMERGENCY , é necessario incluir colchetes "[]" entre o nome do banco, exemplo:
ALTER DATABASE [BANCO-TESTE] SET EMERGENCY
Abraços.
Excelente. Consegui recuperar uma base com status suspect seguindo os procedimentos acima.
ResponderExcluirParabéns pelo artigo.
Muito obrigado, deu certo aqui.
ResponderExcluirmuito bom heim, muito obrigado pela ajuda!
ResponderExcluirPerfeito...ja conhecia alguns dos comandos, mas com esta sequencia nem precisei do suporte. Obrigada!
ResponderExcluirBom dia, deu certo numa base de um cliente que estava parada a dois dias. Obrigado pela dica
ResponderExcluirMuito bom mesmo! parabéns, simples e eficiente, me ajudou muito. Obrigado!
ResponderExcluirAjudou muito, Obrigado!
ResponderExcluirMuito bom, Obrigado!
ResponderExcluiro programa funcionou , mas o arquivo mdf não pode ser copiado ( erro ciclico de redundancia ) , O que pode ser ?
ResponderExcluirSQL 2008, perfeito.... vlw
ResponderExcluirótimo. muito bom este comando
ResponderExcluirTirou onda no post!
ResponderExcluirObrigado, comando funcionou perfeitamente, entretanto tive que executar duas vezes, pois na primeira vez o banco ficou como Usuário Único, apos a segunda tentativa voltou ao normal!
ResponderExcluirPerfeito!!! Perfeito!!! Deem um Óscar para esse cara!!!
ResponderExcluiro meu sempre dar
ResponderExcluirServer: Msg 102, Level 15, State 6, Line 1
Sintaxe incorreta próxima a 'EMERGENCY'.
Alguem pode me ajudar ???
Funcionou perfeitamente
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirFUNCIONOU TAMBÉM, MUITO EMBORA HÁ PERDAS DE DADOS NÉ?
ResponderExcluirSegue passo a passo para recuperar o banco do suspect
ResponderExcluir--1
EXEC sp_resetstatus 'Seu Banco'
--2
DBCC DBRECOVER (SGV, ignoreerrors)
--3
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
--4
BEGIN TRANSACTION
UPDATE sysdatabases SET status = 32768 WHERE name='Seu Banco'
COMMIT TRANSACTION
GO
/*5 Nesse Passo deve ser parado o banco da loja e startado novamente,
e em seguida continuar com os passos a baixo*/
EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
DBCC REBUILD_LOG('Seu Banco','o caminho log')
--6
DBCC CHECKDB('Seu Banco')
--7
EXEC sp_dboption 'Seu Banco', 'dbo use only', false
GO
EXEC sp_dboption 'Seu Banco','single user', false
Funcionou perfeitamente em um cliente meu.....
ResponderExcluirPerfeito. Um post de 2009 que continua ajudando muito. Obrigado.
ResponderExcluirFuncionou.
ResponderExcluirObrigado
deu certo, muito obrigado por compartilhar o conhecimento.
ResponderExcluirObrigado por compartilhar seu conhecimento dessa forma simples e eficiente.
ResponderExcluirValeu man salvou
ResponderExcluirCamarada, muito obrigado mesmo! Funcionou perfeitamente, me salvou.
ResponderExcluirSalvou a pele!
ResponderExcluirPerfeito!!! Obrigado.
ResponderExcluirFuncionou aqui ! Vlw !
ResponderExcluirSalvou meu dia!!!!!
ResponderExcluir