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'
ALTER
DATABASE
TESTE
SET
EMERGENCY
DBCC CHECKDB(
'TESTE'
)
ALTER
DATABASE
TESTE
SET
SINGLE_USER
WITH
ROLLBACK
IMMEDIATE
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
ALTER
DATABASE
TESTE
SET
MULTI_USER
EXEC
sp_resetstatus
'TESTE'
Espero ter ajudado!