web-dev-qa-db-fra.com

Comment dupliquer la base de données MSSQL sur le même ou un autre serveur?

J'essaie d'accomplir ce qui suit:

  1. Prendre un instantané de la base de données d'origine, créer et effectuer une copie sur un autre serveur?
  2. Prenez un instantané de la base de données d'origine, créez un doublon sur le même serveur sous un nom de base de données différent

Cependant, je ne peux pas en raison d'une expérience très limitée avec MSSQL. Aucune suggestion?

Information additionnelle:

Serveur de base de données d'origine: SQL Server 2000

Serveur de base de données de destination: SQL Server 2005

15
Alex N
  1. sauvegarder la base de données
  2. restaurer la base de données sous un nouveau nom et/ou sur un autre serveur

Ces deux opérations peuvent être effectuées à partir d'Enterprise Manager (SQL2000) ou de son remplaçant SQL Management Studio (SQL2005 +), ou des commandes TSQL SAUVEGARDE et RESTAURER .

Remarque: vous pouvez restaurer une base de données sauvegardée à partir de SQL2000 sur SQL2005 sans problèmes dans la plupart des cas, mais pas l'inverse.

17
David Spillett

Ajoutant cela alors que je suis tombé dessus tout en suivant les étapes ci-dessus.
Dans SQL Server 2008 R2 au moins, vous pouvez ignorer une étape pour obtenir une sauvegarde locale sur le serveur.

  1. Bases de données avec clic droit
  2. Cliquez sur Restaurer la base de données.
  3. Définissez l'option From database sur la base de données que vous copiez
  4. Définissez l'option To database dans le nouveau nom
  5. Cliquez sur OK
7
Chris

C'est probablement la meilleure solution:

1) On Source DB Server - Créer une sauvegarde dans un fichier local

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) Copiez le fichier source sur le serveur de destination.
Si les deux serveurs sont sur la même machine, vous souhaiterez peut-être créer une copie de ce fichier:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) On Destination DB Server: restaurer la base de données à partir du fichier de sauvegarde

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'
5
Stefano Rosati

en utilisant MS SQLServer 2012, vous devez d'abord effectuer 3 étapes de base, générer un fichier .sql contenant uniquement la structure de la base de données source => cliquer avec le bouton droit sur la base de données source puis Tâches puis générer des scripts => suivre l'assistant et vous pouvez enregistrer le Fichier .sql localement Deuxièmement, remplacez dans le fichier .sql la base de données source par celle de destination => cliquez avec le bouton droit sur le fichier de destination et appuyez sur Nouvelle requête et Ctrl-H ou (éditer - rechercher et remplacer - Quack replce) enfin, remplir avec des données => cliquez avec le bouton droit sur la base de données de détection, puis sur Tâches, puis sur Importer les données => Base de données source de données définie sur ".net framework data procider for sql server" + définissez le champ de texte de la chaîne de connexion sous DATA ex: Data Source = Mehdi\SQLEXPRESS; Catalogue initial = db_test; ID utilisateur = sa; Mot de passe = sqlrpwrd15 => Même chose à faire avec la destination => cochez la table que vous souhaitez transférer ou cochez la case en plus de "source: ....." pour les vérifier toutes

vous avez terminé.

0
Mehdi Benkirane