Array
(
)

Backup com log de Transação

Vilarim
   - 15 jul 2004

Alguem já restaurou backup de log de transação no sql server 2000? Como funciona?

Wantuilcezar
   - 15 jul 2004

Você deve aplicar antes o backup full para depois aplicar o backup de log.
Você pode aplicar estes backups usando as opções NORECOVERY e STANDBY.

Quando aplica o NORECOVERY, o database fica indisponivel até a aplicação do último backup de log com a opção RECOVERY. Está opção é normalmente usada quando você deseja retornar um backup até um determinado horário ou quando perdeu uma base e deseja restaurar até o último backup de log.

Quando aplica o STANDBY, o database fica disponível para leitura. Muito usado em servidores de consulta onde a o database está atualizado bem próximo ao de produção. Na atualização não pode ter ninguém acessando o database.

Alguns exemplos:

--com RECOVERY

--restore do backup full
RESTORE DATABASE DBO_BACKUP
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_BACKUP.BKP´
WITH MOVE ´DBO_BACKUP_Data´ TO ´C:\MSSQL\DATA\DBO_BACKUP_Data.MDF´,
MOVE ´DBO_BACKUP_Log´ TO ´C:\MSSQL\DATA\DBO_BACKUP_Log.LDF´,
NORECOVERY

--restaurando os backups de log
RESTORE LOG DBO_BACKUP
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_BACKUP_LOG1.BKP´
WITH NORECOVERY
RESTORE LOG DBO_BACKUP
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_BACKUP_LOG2.BKP´
WITH NORECOVERY
RESTORE LOG DBO_BACKUP
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_BACKUP_LOG3.BKP´
WITH RECOVERY

--COM STANDBY

--restore full
RESTORE DATABASE DBO_TESTE
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_TESTE.BKP´
WITH MOVE ´DBO_TESTE_Data´ TO ´C:\MSSQL\DATA\DBO_TESTE_Data.MDF´,
MOVE ´DBO_TESTE_Log´ TO ´C:\MSSQL\LOG\DBO_TESTE_Log.LDF´,
STANDBY = ´c:\mssql\backup\undo.ldf´

--restore dos log´s
RESTORE LOG DBO_TESTE
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_TESTE_LOG1.BKP´
with STANDBY = ´c:\mssql\backup\undo.ldf´

RESTORE LOG DBO_TESTE
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_TESTE_LOG2.BKP´
with STANDBY = ´c:\mssql\backup\undo.ldf´

RESTORE LOG DBO_TESTE
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_TESTE_LOG3.BKP´
with STANDBY = ´c:\mssql\backup\undo.ldf´

RESTORE LOG DBO_TESTE
FROM DISK = ´C:\MSSQL\BACKUP\BKP_DBO_TESTE_LOG4.BKP´
WITH RECOVERY
GO

Espero ter ajudado um pouco.