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.