locked
Restauração de Banco de Dados RRS feed

  • Pergunta

  • Ola Pessoal,

    Tenho em um Servidor SQL Server 2008 R2, 04 bases de dados, que vou chama-las de:

    - Perceu_Producao

    - Perceu_Base_Teste

    - Zeus_Producao

    - Zeus_Base_Teste

    Tada vez que necessito atualizar as bases de teste, eu preciso gerar um backup da base produção, e depois restaurar na base de teste. Estava dando uma olhada na parte do restore, e pude notar que existe a opção: From database. Entretanto ao clicar na caixa de listagem, a base produção que eu desejo não é mostrada.

    Exemplo: Quero atualizar a base: Zeus_Base_Teste com o conteúdo da base: Zeus_Producao. Quando entro no Restore, só aparece disponível a base: Perceu_Producao. Gostaria que o SQL listasse a base: Zeus_Producao, para que possa agilizar o processo.

    Estou recorrendo aos universitários de plantão para me darem uma ajudinha neste aspecto.

    O que devo alterar e/ou configurar para que as bases de dados possam ser mostradas?

    Muito obrigado.


    Alvaro J. P. Pereira (Analista de TI)

    sexta-feira, 6 de dezembro de 2013 14:07

Respostas

  • Alvaro,

         Imagino que você esteja citando a opção Botão da direira, Tasks, Restore, Database. A opção que fala "From Database" recupera as informações dos backups que já foram executados na base e estas informações (quando e como foram feitos os backups) na base de dados MSDB. se você não tiver feito nenhum backup da base, ela não vai aparecer na listagem de backups disponíveis para restauração. Isso é uma funcionalidade do SSMS apenas para facilitar você a decidir o melhor restore para a sua base, mas internamente, o SQL Server ainda vai utilizar o restore from DISK = 'localizacao'.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    sexta-feira, 6 de dezembro de 2013 15:03
    Moderador
  • Olá Alvaro,

    se entendi corretamente, você deseja que as bases Zeus_Producao e Zeus_Base_Teste estejam plenamente sincronizadas, está correto ?

    Caso seja essa sua necessidade, automatize uma rotina para executar o comando Merge. Esse maravilhoso comando compara o conteúdo de uma tabela de um banco com a tabela de outro banco, através de um campo ID (recomendado). Quando ele detectar que o registro existe, é feito um update na tabela do banco de destino, quando não existir, é feito um insert.

    Mais detalhes em: http://msdn.microsoft.com/pt-br/library/bb510625.aspx

    Espero ter ajudado.


    Angelo Máximo
    MTA | MCITP | MCT | CCSQLA
    sqlmax@outlook.com
    http://angmaximo.wordpress.com/

    Se a resposta foi útil, não esqueça de classificá-la.



    quarta-feira, 11 de dezembro de 2013 13:49

Todas as Respostas

  • Alvaro,

         Imagino que você esteja citando a opção Botão da direira, Tasks, Restore, Database. A opção que fala "From Database" recupera as informações dos backups que já foram executados na base e estas informações (quando e como foram feitos os backups) na base de dados MSDB. se você não tiver feito nenhum backup da base, ela não vai aparecer na listagem de backups disponíveis para restauração. Isso é uma funcionalidade do SSMS apenas para facilitar você a decidir o melhor restore para a sua base, mas internamente, o SQL Server ainda vai utilizar o restore from DISK = 'localizacao'.


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008

    sexta-feira, 6 de dezembro de 2013 15:03
    Moderador
  • Ola Roberto,

    Obrigado por me ajudar.
    Realmente, o caminho citado por você realmente é o correto.
    Então deve estar ocorrendo alguma coisa com o backup da segunda base de dados.
    Vou verificar se está ocorrendo regularmente como deveria.

    Você saberia informar um comando ou um assistente, que me permita, atualizar a Base de Teste em relação ao que está na Produção, sem que para isso primeiro eu precise fazer um backup? Tenha em mente que, o conteúdo que está na Base Teste é sempre descartado, ao fazer a atualização com os dados da Base Produção.

    Muito obrigado.


    Alvaro J. P. Pereira (Analista de TI)

    sexta-feira, 6 de dezembro de 2013 21:09
  • Olá Alvaro,

    se entendi corretamente, você deseja que as bases Zeus_Producao e Zeus_Base_Teste estejam plenamente sincronizadas, está correto ?

    Caso seja essa sua necessidade, automatize uma rotina para executar o comando Merge. Esse maravilhoso comando compara o conteúdo de uma tabela de um banco com a tabela de outro banco, através de um campo ID (recomendado). Quando ele detectar que o registro existe, é feito um update na tabela do banco de destino, quando não existir, é feito um insert.

    Mais detalhes em: http://msdn.microsoft.com/pt-br/library/bb510625.aspx

    Espero ter ajudado.


    Angelo Máximo
    MTA | MCITP | MCT | CCSQLA
    sqlmax@outlook.com
    http://angmaximo.wordpress.com/

    Se a resposta foi útil, não esqueça de classificá-la.



    quarta-feira, 11 de dezembro de 2013 13:49