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