Backup com log de Transação
Alguem já restaurou backup de log de transação no sql server 2000? Como funciona?
Vilarim
Curtidas 0
Respostas
Wantuilcezar
15/07/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.
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.
GOSTEI 0