Parece que me lembro que, em 2008, você pode restaurar um backup para uma nova cópia de um banco de dados, alterando o nome no campo "Banco de Dados de Destino" no assistente de restauração. Ele criaria um novo banco de dados, que é uma cópia do banco de dados original restaurada no momento desejado. Eu ainda não descobri como fazer o SQL 2012 fazer isso.
Agora, entendo (graças a Aaron Bertrand) que isso realmente não mudou, e que 2012 está realmente tornando mais óbvio para mim que essa estratégia foi uma péssima idéia em primeiro lugar!
Portanto, o que preciso fazer é: Crie um novo banco de dados, 'MyDB_Copy', a partir de um banco de dados existente, 'MyDB', usando seus arquivos de backup. Temos backups completos noturnos (.bak) e TLogs a cada 15 minutos (.trn). Eu não quero que o 'MyDB' existente seja afetado / tocado, porque é "ao vivo".
Depois que o MyDB_Copy é criado a partir do arquivo principal de backup completo, preciso restaurar algumas dúzias de backups do TLog para obtê-lo em um determinado momento.
fonte
Respostas:
Baseado livremente no Exemplo E na documentação , abra uma nova janela de consulta e execute:
Os nomes lógicos não são importantes; os nomes dos arquivos físicos são. Isso faz suposições sobre seus nomes de arquivos lógicos e que existem apenas dois; correr
EXEC MyDB..sp_helpfile;
para ter certeza.Se você precisar restaurar logs, altere
RECOVERY
paraNORECOVERY
:Em seguida, você pode emitir uma série de:
E no último:
Ou se você precisar apenas de parte de um log-in até um momento (presumo que você tenha verificado onde estão os LSNs e os horários, para saber exatamente de quais arquivos você precisa):
A maneira como você disse que funcionava nas versões anteriores nunca funcionaria, a menos que o backup viesse de um servidor diferente. Por padrão, ele tentará colocar os novos arquivos mdf e ldf exatamente no mesmo local, e isso não é possível.
fonte
Tudo o que você precisa fazer para restaurar o mesmo banco de dados várias vezes é alterar o nome dos arquivos de disco desse banco de dados. Obviamente, você precisa atribuir um nome diferente ao banco de dados para qualquer outro banco de dados no SQL Server. No SSMS, depois de selecionar o arquivo .bak para restauração e digitar o nome do banco de dados, clique em 'Arquivos' na seção "Selecionar uma página" à esquerda e altere o nome dos arquivos do disco.
Cheers Doug
fonte