J'ai une sauvegarde de Database1 il y a une semaine. La sauvegarde est effectuée chaque semaine dans le planificateur et j'obtiens un .bak
fichier. Maintenant, je veux jouer avec certaines données, je dois donc les restaurer dans une autre base de données - Database2 .
J'ai vu cette question: restaurer la base de données SQL Server dans le même PC avec un nom différent et l'étape recommandée consiste à renommer la base de données d'origine, mais je ne suis pas dans cette option car je suis sur le serveur de production et je ne peux pas vraiment le faire.
Existe-t-il un autre moyen de le restaurer Database2
, ou du moins, comment parcourir les données de ce fichier .bak?
Merci.
ps: la deuxième réponse du lien ci-dessus semblait prometteuse mais elle se termine avec erreur:
La restauration de la liste de fichiers se termine anormalement
la source
backkup set holds a backup of a database other than existing "tmp" database
, ce qui, je le comprends. Lato
phrase devrait-elle être le chemin physique réel deMyTempCopy
?to
c'est l'emplacement db & log pour la nouvelle base de données, exemple de mise à jour ciRESTORE 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:
Pour une base de données existante que vous souhaitez "restaurer: à partir d'une sauvegarde d'une autre base de données, procédez comme suit:
la source
Pour SQL Server 2012, à l'aide de Sql Server Management Studio, j'ai trouvé ces étapes de la page Microsoft utiles pour restaurer dans un autre fichier et nom de base de données: (réf: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Notez que les étapes 4 et 7 sont importantes à définir afin de ne pas écraser la base de données existante.
la source
En fait, il n'est pas nécessaire de restaurer la base de données en termes natifs de SQL Server, car vous "voulez jouer avec certaines données" et "parcourir les données de ce fichier .bak"
Vous pouvez utiliser ApexSQL Restore - un outil SQL Server qui attache des sauvegardes de bases de données SQL natives et nativement compressées et des sauvegardes de journaux de transactions en tant que bases de données en direct , accessibles via SQL Server Management Studio, Visual Studio ou tout autre outil tiers. Il permet de joindre une ou plusieurs sauvegardes complètes, différentielles et des journaux de transactions
De plus, je pense que vous pouvez faire le travail pendant que l'outil est en mode d'essai entièrement fonctionnel (14 jours)
Avertissement: je travaille en tant qu'ingénieur de support produit chez ApexSQL
la source
Voici ce que j'ai rassemblé à partir de divers articles pour copier une base de données à l'aide de la sauvegarde et de la restauration avec déplacer pour fixer l'emplacement physique et sql supplémentaire pour fixer le nom logique.
la source
DECLARE @BackupFiles...
ligne a besoin d'une colonne supplémentaire:SnapshotURL nvarchar(360)
C'est en fait un peu plus simple que de restaurer sur le même serveur. Fondamentalement, vous parcourez simplement les options "Restaurer la base de données". Voici un tutoriel pour vous:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Surtout qu'il s'agit d'une restauration hors production, vous pouvez vous sentir à l'aise de l'essayer sans trop vous soucier des détails. Placez simplement vos fichiers SQL où vous le souhaitez sur votre nouveau serveur et donnez-lui le nom que vous voulez et vous êtes prêt à partir.
la source
Si aucune base de données n'existe, j'utilise le code suivant:
la source
J'ai la même erreur que cette rubrique lorsque je restaure une nouvelle base de données à l'aide d'une ancienne base de données. (l'utilisation de .bak donne la même erreur)
J'ai changé le nom de l'ancienne base de données par le nom de la nouvelle base de données (même cette image). Ça a marché.
la source
Voici comment restaurer une sauvegarde en tant que base de données supplémentaire avec un nom de base de données unique.
Pour SQL 2005, cela fonctionne très rapidement. Je suis sûr que les versions plus récentes fonctionneront de la même manière.
Tout d'abord, vous n'avez pas besoin de déconnecter votre base de données d'origine. Mais pour des raisons de sécurité, j'aime bien. Dans mon exemple, je vais monter un clone de ma base de données "billing" et il sera nommé "billingclone".
1) Faites une bonne sauvegarde de la base de données de facturation
2) Pour des raisons de sécurité, j'ai mis l'original hors ligne comme suit:
3) Ouvrez une nouvelle fenêtre de requête
**IMPORTANT! Gardez cette fenêtre de requête ouverte jusqu'à ce que vous ayez terminé! Vous devez restaurer la base de données à partir de cette fenêtre!
Saisissez maintenant le code suivant:
3) Ensuite, dans Management Studio, cliquez sur rt Bases de données dans l'Explorateur d'objets, choisissez "Restaurer la base de données"
4) entrez un nouveau nom dans le champ "Vers la base de données". IE billingclone
5) Dans Source for Restore, cliquez sur "From Device" et cliquez sur le bouton ... naviguer
6) Cliquez sur Ajouter et accédez à votre sauvegarde
7) Cochez la case à côté de Restaurer (sélectionnez les jeux de sauvegarde à restaurer)
8) Sélectionnez ensuite la page OPTIONS dans le coin supérieur gauche
9) Modifiez maintenant les noms des fichiers de base de données dans RESTORE AS. Faites cela pour la base de données et le journal. IE billingclone.mdf et billingclone_log.ldf
10) appuyez maintenant sur OK et attendez la fin de la tâche.
11) Cliquez sur Actualiser dans votre explorateur d'objets et vous verrez votre nouveau db
12) Vous pouvez maintenant remettre votre base de facturation en ligne. Utilisez la même fenêtre de requête que celle utilisée pour mettre la facturation hors ligne. Utilisez cette commande:
terminé!
la source
la source