none
Restaura backup Log RRS feed

  • 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.

    quinta-feira, 4 de dezembro de 2008 15:24

Todas as Respostas

  • Carruda,

     

    Esta sua base de dados possui dois arquivos de log e um arquivo de dados!!!

    quinta-feira, 4 de dezembro de 2008 16:03
    Moderador
  • 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 Snippet

    RESTORE 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 Banco

    GO

    DBCC SHRINKFILE('Banco_Log2',EMPTYFILE)

     

    ALTER DATABASE Banco REMOVE FILE Banco_Log2

     

    [ ]s,

     

    Gustavo

    quinta-feira, 4 de dezembro de 2008 16:08
  • Isso mesmo dois logs e um data.

    quinta-feira, 4 de dezembro de 2008 16:42
  • Obrigado Gustavo,

    vou tentar utilizar esse comando.

     

    quinta-feira, 4 de dezembro de 2008 16:43
  • Carruda,

     

    Veja este exemplo que utilizamos aqui na empresa:

     

    Code Snippet

    USE 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_TESTE

    go

    --Reconfigurando o SQL Server para permitir alteração em System Tables

    sp_configure 'allow updates', '1'

    go

    reconfigure with override

    go

    --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 override

    go

    --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,sysdba

    go

    sp_adduser rm,rm

    go

    -- Liberando acesso as tables de configuração do Banco CORPORERM_TESTE

    grant select on gparams to sysdba

    grant select on gusuario to sysdba

    grant select on gpermis to sysdba

    grant select on gacesso to sysdba

    grant select on gsistema to sysdba

    grant select on gcoligada to sysdba

    grant select on gusrperfil to sysdba

    go

    Print ''

    Print '----------------------------------------------------------------------------------------------------------------'

    Print 'Processo Realizado com sucesso!!!'

     

     

    quinta-feira, 4 de dezembro de 2008 16:57
    Moderador