Recuperação de banco de dados corrompido

Tópicos relacionados as operações do Microsoft SQL Server: Instalação, Configuração, Recuperações e etc.
Marcelo Sabino
Administrador
Mensagens: 21
Registrado em: 11 Mar 2015, 09:32

Recuperação de banco de dados corrompido

Mensagempor Marcelo Sabino » 05 Mai 2015, 15:53

É importante que o procedimento seja realizado na mesma versão e edição de banco de dados da base corrompida, exemplo, se o banco corrompeu na versão 2005 execute no 2005 se foi no 2008 R2 execute no 2008 R2.

Execute um comando por vez.

1. Pelo Microsoft SQL Server Management Studio, criar um novo banco de dados com o mesmo nome do banco corrompido, no caso MISTERCHEFNET.

Código: Selecionar todos

CREATE DATABASE MISTERCHEFNET


* Obs.: Caso tenha um banco anexo com este nome desatache antes de iniciar.

2. Parar o serviço do SQL Server;

3. Na pasta onde foram criados os novos arquivos MISTERCHEFNET.mdf e MISTERCHEFNET.ldf, substituir os arquivos criados pelos arquivos corrompidos;

4. Iniciar o serviço do SQL Server;

5. Neste momento o banco de dados vai ficar em 'SUSPECT' por causa da troca dos arquivos (Dê um refresh no painel Object Explorer no Management Studio para visualizar o status), coloque o banco em ‘EMERGENCY’:

Código: Selecionar todos

ALTER DATABASE MISTERCHEFNET SET EMERGENCY


6. Coloque o banco em SINGLE USER:

Código: Selecionar todos

ALTER DATABASE MISTERCHEFNET SET SINGLE_USER


OU

Código: Selecionar todos

SP_DBOPTION MISTERCHEFNET, ‘SINGLE_USER’,TRUE


7. Execute o CHECKDB para corrigir o banco:

Código: Selecionar todos

DBCC CHECKDB (MISTERCHEFNET, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS


8. Retorne o banco para MULTI USER:

Código: Selecionar todos

ALTER DATABASE MISTERCHEFNET SET MULTI_USER WITH ROLLBACK IMMEDIATE


OU

Código: Selecionar todos

SP_DBOPTION MISTERCHEFNET, ‘SINGLE_USER’,FALSE


9. Execute o comando para reindexar as tabelas:

Código: Selecionar todos

EXEC sp_MSforeachtable @command1= "ALTER INDEX ALL ON '?' REBUILD WITH (FILLFACTOR = 80,SORT_IN_TEMPDB = ON,STATISTICS_NORECOMPUTE = ON)"


10. Execute o comando SHRINK para reajustar o tamanho do banco de dados:

Código: Selecionar todos

DBCC SHRINKDATABASE (N'MISTERCHEFNET' )


Código: Selecionar todos

DBCC SHRINKFILE (1, 0, TRUNCATEONLY)


Código: Selecionar todos

DBCC SHRINKFILE (2, 0, TRUNCATEONLY)


11.Teste o Banco de dados.

Obs.: Procedimento foi testado usando o SQL Server Express 2005.

Voltar para “Microsoft SQL Server”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 1 visitante

cron