Eu tenho um backup do Database1 de uma semana atrás. O backup é feito semanalmente no agendador e recebo um .bak
arquivo. Agora eu quero mexer com alguns dados, então preciso restaurá-los em um banco de dados diferente - Database2 .
Eu já vi essa pergunta: Restaure o banco de dados do SQL Server no mesmo pc com nome diferente e a etapa recomendada é renomear o banco de dados original, mas estou fora dessa opção, pois estou no servidor de produção e não posso realmente fazê-lo.
Existe alguma outra maneira de restaurá-lo para Database2
, ou pelo menos, como navegar pelos dados desse arquivo .bak?
obrigado.
ps: a segunda resposta do link acima parecia promissora, mas continua terminando com erro:
A lista de arquivos de restauração está sendo finalizada de forma anormal
fonte
backkup set holds a backup of a database other than existing "tmp" database
, o que eu entendo. Ato
frase deve ser o caminho físico real deMyTempCopy
?to
é o db & log local para o novo banco de dados, exemplo atualização acimaRESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak' WITH REPLACE, RECOVERY, MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf', MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
SQL Server 2008 R2:
Para um banco de dados existente que você deseja "restaurar: a partir de um backup de um banco de dados diferente, siga estas etapas:
fonte
Para o SQL Server 2012, usando o Sql Server Management Studio, achei essas etapas na página da Microsoft úteis para restaurar um nome e arquivo de banco de dados diferente: (ref: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Observe que as etapas 4 e 7 são importantes para definir, para não substituir o banco de dados existente.
fonte
Na verdade, não há necessidade de restaurar o banco de dados nos termos nativos do SQL Server, pois você "deseja mexer em alguns dados" e "navegar pelos dados desse arquivo .bak"
Você pode usar o ApexSQL Restore - uma ferramenta do SQL Server que anexa backups de bancos de dados SQL nativos e compactados nativamente e backups de log de transações como bancos de dados ativos ativos, acessíveis via SQL Server Management Studio, Visual Studio ou qualquer outra ferramenta de terceiros. Permite anexar um ou vários backups completos, diferenciais e de log de transações
Além disso, acho que você pode fazer o trabalho enquanto a ferramenta estiver no modo de teste totalmente funcional (14 dias)
Isenção de responsabilidade: trabalho como engenheiro de suporte ao produto no ApexSQL
fonte
Aqui está o que reuni de várias postagens para copiar um banco de dados usando backup e restauração com move para corrigir o local físico e sql adicional para corrigir o nome lógico.
fonte
DECLARE @BackupFiles...
linha precisa de uma coluna extra:SnapshotURL nvarchar(360)
Na verdade, é um pouco mais simples do que restaurar no mesmo servidor. Basicamente, você apenas percorre as opções "Restaurar banco de dados". Aqui está um tutorial para você:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Especialmente porque essa é uma restauração que não é de produção, você pode se sentir confortável apenas testando sem se preocupar muito com os detalhes. Basta colocar seus arquivos SQL onde você deseja que eles estejam no seu novo servidor e dar o nome que você quiser e pronto.
fonte
Se não houver banco de dados, eu uso o seguinte código:
fonte
Tenho o mesmo erro deste tópico ao restaurar um novo banco de dados usando um banco de dados antigo. (usando .bak dá o mesmo erro)
Mudei o nome do banco de dados antigo pelo nome do novo banco de dados (o mesmo nesta imagem). Funcionou.
fonte
Aqui está como restaurar um backup como um banco de dados adicional com um nome de banco de dados exclusivo.
Para o SQL 2005, isso funciona muito rapidamente. Estou certo de que as versões mais recentes funcionarão da mesma forma.
Primeiro, você não precisa colocar seu banco de dados original offline. Mas por questões de segurança, eu gosto. No meu exemplo, montarei um clone do meu banco de dados "billing" e ele será chamado "billingclone".
1) Faça um bom backup do banco de dados de cobrança
2) Por segurança, coloquei o original offline da seguinte forma:
3) Abra uma nova janela de consulta
**IMPORTANTE! Mantenha essa janela de consulta aberta até terminar! Você precisa restaurar o banco de dados a partir desta janela!
Agora digite o seguinte código:
3) Em seguida, no Management Studio, rt clique em Bancos de dados no Pesquisador de objetos, escolha "Restaurar banco de dados"
4) digite um novo nome no campo "Para o banco de dados". IE billingclone
5) Na fonte para restauração, clique em "Do dispositivo" e clique no botão ... navegar
6) Clique em Adicionar e navegue até o seu backup
7) Coloque uma marca de seleção ao lado de Restaurar (selecione os conjuntos de backup para restaurar)
8) Em seguida, selecione a página OPÇÕES no canto superior esquerdo
9) Agora edite os nomes dos arquivos do banco de dados em RESTORE AS. Faça isso para o banco de dados e o log. IE billingclone.mdf e billingclone_log.ldf
10) agora pressione OK e aguarde a conclusão da tarefa.
11) Clique em Atualizar no seu Object Explorer e você verá seu novo banco de dados
12) Agora você pode colocar seu banco de dados de cobrança on-line novamente. Use a mesma janela de consulta usada para colocar o faturamento offline. Use este comando:
feito!
fonte
fonte