web-dev-qa-db-fra.com

Comment copier la base de données du serveur SQL d'un serveur à un autre sans aucune sauvegarde

J'ai deux machines, A et B. Dans ma machine A, j'ai un serveur SQL avec une base de données. J'ai besoin de copier la base de données de la machine A vers B sans effectuer de sauvegarde. Comment je fais ça?

25
susan stefan

Vous pouvez utiliser la fonctionnalité Copier la base de données dans SQL Server Management Studio.

Faites un clic droit sur la base de données, sélectionnez "Tâches", "Copier la base de données". Si vous pouvez mettre la base de données hors ligne, vous pouvez également choisir de la détacher, de copier les fichiers sur le nouveau serveur, puis de rattacher la base de données après.

Voir également la documentation Microsoft: http://technet.Microsoft.com/en-us/library/ms188664.aspx

15
SchmitzIT

Voici une autre méthode que vous ne pouvez utiliser que si vous avez un accès direct aux deux machines.

Dans la machine source:
1. Ouvrez Sql Server Management Studio (SSMS)
2. Clic droit sur la base de données que vous souhaitez copier
3. Goto Properties
4. Sélectionnez les fichiers dans le menu de gauche
5. Faites défiler vers la droite La plupart des colonnes, vous trouverez le nom de fichier et le chemin du fichier de base de données (notez ce chemin et le nom de fichier de toutes les entrées de la liste)
6. Fermez la fenêtre des propriétés
7. Cliquez à nouveau avec le bouton droit sur la base de données
8. Cliquez sur Détacher
9. Aller au chemin que vous avez noté à l'étape 5
dix. Copiez tous les fichiers que vous avez notés à l'étape 5
11. Collez-le dans un dossier dans Target macine
12. Encore une fois Goto SSMS et clic droit sur le dossier de la base de données
13. Cliquez sur Attacher
14. Cliquez sur Ajouter et donnez le chemin du fichier .mdf que vous avez noté à l'étape 5

Sur la machine cible
1. Goto SSMS et clic droit sur le dossier de la base de données
2. Cliquez sur Attacher
3. Cliquez sur Ajouter et indiquez le chemin du fichier .mdf que vous avez copié de la machine source vers la machine cible.

[~ # ~] modifier [~ # ~]
Vous pouvez créer un serveur lié (voir: http://msdn.Microsoft.com/en-us/library/aa213778%28SQL.80%29.aspx ) et utiliser Cross requête du serveur pour insérer des données dans la base de données cible, par exemple

Select * Into Servername.DatabaseName.SchemaName.TableName From SourceSchemaName.Tablename

vous n'avez pas besoin d'effectuer cela pour chaque objet, vous pouvez utiliser des curseurs pour le faire pour tous les objets présents dans votre base de données.

4
Ankit

Je viens d'utiliser un outil gratuit de http://dbcopytool.codeplex.com/ pour copier une base de données en direct de SQL 2005 à SQL 2012. Après avoir entré toutes les informations dans la 2ème page d'onglet, la 1ère page d'onglet peut être configuré et tout a fonctionné sans problème.

3
user2007339