Tradutor

terça-feira, 1 de março de 2016

SQL SERVER - Restaurando Banco SUSPECT

Bom dia galera!

Hoje pela manhã me deparei com um erro de banco causado por uma queda de energia.


O status do meu banco estava como SUSPECT.

Segue uma sequencia de comando par reparar o banco.

        --  Seleciona os bancos da tabela sys.database que estejam em estado suspeito
SELECT Name, State_Desc FROM sys.databases
WHERE State_Desc ='SUSPECT'

-- Coloca o database em modo de emergência
ALTER DATABASE TESTE SET EMERGENCY

-- Realiza um check do database
DBCC CHECKDB('TESTE')

-- Altera o database para SINGLE_USER, ou seja, só um usuário pode estar conectado
ALTER DATABASE TESTE SET SINGLE_USER WITH ROLLBACK IMMEDIATE

-- Realiza o comando para reparo do database
DBCC CHECKDB('TESTE', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS

Para voltar a base de dados para MULTI_USER verifique se o banco esta em estado de emergencia.

SELECT Name, State_Desc FROM sys.databases

Se não estiver execute o comando para colocar o database em estadode emergencia novamente

-- Volta a base de dados para multiplos usuários
ALTER DATABASE TESTE SET MULTI_USER

-- Restarta o status do database
EXEC sp_resetstatus 'TESTE'

Espero ter ajudado!

Sem comentários:

Enviar um comentário