Banco de dados "suspeito" do SQL Server?


40

O que você faz quando possui um banco de dados marcado como Suspect?

Restaurar a partir do último backup?

Por favor informar.

Respostas:


41

A primeira coisa é garantir que você NÃO desanexe esse banco de dados.

Restaurar a partir do último backup bom conhecido é bom. Caso contrário, você precisará usar o modo de reparo EMERGENCY (suponho que você esteja executando o SQL 2005 ou superior). Aqui estão algumas postagens de Paul Randal sobre o assunto. Leia os dois antes de iniciar qualquer ação.

Criando, desanexando, reconectando e corrigindo um banco de dados SUSPECT

Reparo no modo EMERGÊNCIA: o último, muito último recurso


5

Praticamente sim.

Geralmente, isso significa que os arquivos estão com bollixing ou ausentes ou com um erro de disco ou algo parecido (vi um setor defeituoso causar isso).

Meus passos:

  • Verifique se todos os backups estão lá
  • Desligar o SQL Server
  • chkdsk os discos usados ​​pelo SQL Server (espero que não seja o seu C: é claro)

Edit: eu vou esclarecer minha resposta

  • se os dados forem importantes, terei um backup
  • tempo de inatividade enquanto mexe com reparos e modo de emergência é muito longo para mim

5

Escrevi algumas orientações sobre isso para dois casos de banco de dados suspeitos: quando você perdeu o arquivo de dados ou o log. Por favor, leia o seguinte:


5
Então, eis o seguinte: o Stack Exchange não funciona se tudo o que você postar são links. O que nós precisamos que você faça é para resumir o conteúdo dos links, ou eu vou ser forçado a apagar a sua resposta (e então você rep perder, e nenhum de nós quer que isso aconteça)
jcolebrand

4

Da sua pergunta, parece que você tem um backup. Restaurar o banco de dados a partir de um bom backup será a maneira mais fácil e rápida de colocar seu banco de dados operacional e fora do estado suspeito.


5
Mas você perderá dados e não possui os logs de transações.
mrdenny

0

Meu primeiro conselho é; nunca desanexe o banco de dados suspeito. Restaurar o banco de dados a partir do backup atualizado é útil. Se o backup não estiver disponível ou houver problema, o EMERGENCYmodo poderá ser útil:

Defina o banco de dados no modo de emergência:

ALTER DATABASE DB_NAME SET EMERGENCY

Agora verifique as inconsistências do banco de dados com isso:

DBCC CHECKDB (‘DB_NAME’)

A opção DBCC CHECKDB Repair permitir a perda de dados é o último recurso. O resultado pode ser perda de dados, portanto, não sugiro executá-lo.

Verifique também a Referência 1 e a Referência 2

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.