24 março, 2014

Microsoft SQL Server - Recriar LDF - erro 1813

Esse é um compilado de vários sites que peguei, as fontes originais não tenho mais. Desculpa aos que me ajudaram.

DBCC REBUILD_LOG

MS SQL - Recriar LDF - erro 1813
1 - Criar um banco novo com o mesmo nome do antigo. Prestar atenção no nome físico dos arquivos, devem ser iguais aos antigos.


2 - Parar o serviço do MS SQL.


3 - Substituir o arquivo mdf novo pelo antigo.


4 - Eliminar o novo arquivo ldf.


5 - Iniciar o serviço do MS SQL.


O banco irá subir em modo suspeito, conectar na base master como administrador (sa) e executar o scrip abaixo, substituir o nome do banco nos locais em destaque obecendo as aspas.


EXEC sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
BEGIN TRAN
UPDATE master..sysdatabases SET status = status | 32768
WHERE name = 'Database'
IF (@@rowcount = 1)
BEGIN
    COMMIT TRAN
    RAISERROR ('You are in emergency sql mode', 0,1) WITH LOG
END
ELSE
BEGIN
    ROLLBACK
    RAISERROR ('Unable to set sql into emergency mode',0,1) WITH LOG
END
GO
EXEC sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO


6 - Reiniciar o serviço do MS SQL.


7 - Executar o comando abaixo na base master como administrador (sa), substituir o nome do banco e o caminho onde deve ficar o log.


--restart sql server at this point
DBCC REBUILD_LOG ('Database', 'c:\sqldata\database.ldf')
--perform DBCC CHECKDB at this point.  If problems exist you may have to DTS good data out and rebuild database
--can also try REPAIR clauses to checkdb
ALTER DATABASE database SET MULTI_USER
Postar um comentário