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:
-- 1) free up all USER databases
USE master;
GO
-- 2) kick all other users out:
ALTER DATABASE billing SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- 3) prevent sessions from re-establishing connection:
ALTER DATABASE billing SET OFFLINE;
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:
-- 1) free up all USER databases
USE master; GO
-- 2) restore access to all users:
ALTER DATABASE billing SET MULTI_USER WITH ROLLBACK IMMEDIATE;GO
-- 3) put the db back online:
ALTER DATABASE billing SET ONLINE;
terminé!
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
?