Inquiridor
Restaura backup Log

Pergunta
-
Boa tarde,
Tenho uma base de dados que possui 02 arquivos de logs em unidades diferentes, dessa base é feito um backup completo. Gostaria de saber como faço para restaurar essa base, so que restaurando os 02 arquivos de logs em uma unica unidade, ao invez de serem dois logs vai passar a ser um unico.
Obrigado.
Todas as Respostas
-
-
Boa Tarde,
Infelizmente não é possível fazer isso durante o RESTORE. Você terá que restaurar a base com os dois arquivos de log e após o RESTORE eliminar o segundo arquivo. O script abaixo sugere como fazer isso:
Code SnippetRESTORE
DATABASE Banco FROM DISK = 'Arquivo.BAK'WITH
MOVE
'Banco_Data' TO 'Local\Banco.MDF',MOVE
'Banco_Log' TO 'Local\Banco_log.LDF',MOVE
'Banco_Log2' TO 'Local\Banco_log2.LDF'USE
BancoGO
DBCC
SHRINKFILE('Banco_Log2',EMPTYFILE)ALTER
DATABASE Banco REMOVE FILE Banco_Log2[ ]s,
Gustavo
-
-
-
Carruda,
Veja este exemplo que utilizamos aqui na empresa:
Code SnippetUSE
MASTER-- Realizando o Backup Full do Banco CORPORERM
BACKUP
DATABASE CORPORERM TO DISK = 'J:\SYS\MSSQL_BACKUP\CORPORERM_TESTE.BAK' WITH INIT, DESCRIPTION = 'Backup Full Database CORPORERM para restauração no Database CORPORERM_TESTE'Go
-- Restaurando o Backup Full CORPORERM, sobrescrevendo o Banco CORPORERM_TESTE2
RESTORE
DATABASE CORPORERM_TESTE FROM DISK = 'J:\SYS\MSSQL_BACKUP\CORPORERM_TESTE.BAK' WITH RECOVERY, REPLACE, FILE = 1, STATS = 10, MOVE 'TEste_Data' TO 'J:\SYS\MSSQL_DADOS\CORPORERM_TESTE.mdf', MOVE 'Teste_Log' TO 'J:\SYS\MSSQL_DADOS\CORPORERM_TESTE_log.ldf'Go
--Conectando-se ao Banco CORPORERM_TESTE
USE
CORPORERM_TESTEgo
--Reconfigurando o SQL Server para permitir alteração em System Tables
sp_configure
'allow updates', '1'go
reconfigure
with overridego
--Excluíndo usuários para evitar conflito
delete
sysusers where name = '\rm'delete
sysusers where name = '\sysdba'delete
sysusers where name = 'rm'delete
sysusers where name = 'sysdba'go
--Reconfigurando o SQL Server para bloquear alteração em System Tables
sp_configure
'allow updates', '0'go
reconfigure
with overridego
--Adicionando os usuários no Role DBO
Exec
sp_addrolemember 'db_owner','rm'Exec
sp_addrolemember 'db_owner','sysdba'go
-- Criando Usuários
sp_adduser
sysdba,sysdbago
sp_adduser
rm,rmgo
-- Liberando acesso as tables de configuração do Banco CORPORERM_TESTE
grant
select on gparams to sysdbagrant
select on gusuario to sysdbagrant
select on gpermis to sysdbagrant
select on gacesso to sysdbagrant
select on gsistema to sysdbagrant
select on gcoligada to sysdbagrant
select on gusrperfil to sysdbago
Print
''Print
'----------------------------------------------------------------------------------------------------------------'Print
'Processo Realizado com sucesso!!!'