Parece que me lembro que, em 2008, você poderia restaurar um backup para uma nova cópia de um banco de dados, alterando o nome no campo "Banco de dados de destino" do assistente de restauração. Isso criaria um novo banco de dados, que é uma cópia do banco de dados original restaurado no momento desejado. Eu ainda não descobri como fazer o SQL 2012 fazer isso.
Agora, eu 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 má ideia em primeiro lugar!
Então, o que eu preciso fazer é o seguinte: Criar 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 está "ao vivo".
Depois que o MyDB_Copy é criado a partir do arquivo de backup completo principal, preciso restaurar algumas dúzias de backups TLog para chegar a um determinado ponto no tempo.
Com base 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; corra
EXEC MyDB..sp_helpfile;
para ter certeza.Se você precisar restaurar logs, altere
RECOVERY
paraNORECOVERY
:Então você pode emitir uma série de:
E no último:
Ou se você precisar apenas de parte de um log até um ponto no tempo (suponho que você tenha verificado onde estão os LSNs e os horários para saber exatamente quais arquivos você precisa):
A maneira como você disse que funcionava nas versões anteriores nunca teria funcionado, 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.
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ê também precisa dar ao banco de dados um nome diferente de 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 apenas altere o nome dos arquivos do disco.
Saúde Douglas