none
Backup/Restore RRS feed

  • Pergunta

  • Bom dia, eu estou tendo problemas quando vou tentar fazer o restore de uma base de dados usando o SQL Server Express Edition 2005.
    Recebo a mensagem que o banco de dados está sendo usado, mesmo marcando uma opção que tem lá de Restringir o acesso na base de dados para o Restore não consigo e recebo a mensagem que a base está sendo usada.
    Como resolver?
    Como posso derrubar as conexões ativas para tentar fazer o backup ou então apenas fazer o backup independente de quem esteja usando?
    Ou será que tem que ser feito via script?
    Estou confusa e perdida.
    Obrigada
    Letícia
    quarta-feira, 18 de março de 2009 14:11

Todas as Respostas

  • Boa tarde, eu consegui montar esses dois scripts pegando neste post.

    RESTORE DATABASE baseleticia FROM DISK = 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Backup\BKP_baseleticia'
    WITH
    MOVE
    'dadosle'
    TO 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia.mdf',REPLACE,
    MOVE 'dadosle2'
    TO 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia2.ndf',REPLACE,
    MOVE 'dadosle_log'
    TO 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia_log.ldf',REPLACE

    E esse script tb.


    RESTORE DATABASE [baseleticia]
    FROM DISK = N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Backup\BKP_baseleticia'
    WITH FILE = 1,
    MOVE N'dadosle'
    TO N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia.mdf',REPLACE,
    MOVE N'dadosle2'
    TO N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia2.ndf',REPLACE,
    MOVE N''dadosle_log'
    TO N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.3\MSSQL\Data\baseleticia_log.ldf', NORECOVERY, NOUNLOAD, REPLACE, STATS = 10

    Ambos os scripts foram executados com êxito mas eu nem faço idéia quem é o mais eficiente.
    O desejado é substituir completamente a base atual.
    Obrigada

    Letícia

    quarta-feira, 18 de março de 2009 15:41
  • Letícia,

    Por acaso quando você esta rodando estes dois scripts, você não esta conectado o banco de dados?

    Para derrubar as conexões, você poderia utilizar a comando sp_who2, identificando através do ID as conexões que esta abertas, e logo após utilizar o comando Kill para matar as conexões.

    O backup de um banco de dados no SQL Server poder ser feito mesmo com conexões ativas, o que não pode ser feito é o restore.


    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 18 de março de 2009 17:54
    Moderador