Option de copie de base de données introuvable dans SQL Server Management Studio 2008 R2


10

Je ne parviens pas à voir l'option Copier la base de données dans SQL Server Management Studio 2008 R2.

Quelqu'un peut-il me dire ce qui se passe, s'il vous plaît? Copier la base de données introuvable Image


la base de données source est complètement vide sans aucune ligne. Je souhaite copier uniquement la structure avec les tables et les relations entre elles dans la base de données vide hébergée sur le serveur. veuillez consulter le lien blogs.msdn.com/b/jorgepc/archive/2009/01/19/…

2
@windson Il suffit ensuite de créer un script pour la base de données. Également une opération beaucoup plus facile.
Thomas Stringer

Oui, s'il est vide, il est tout aussi facile d'utiliser l'option de génération de scripts. Je ne sais pas pourquoi l'option de l'assistant cassé serait manquante, j'ai installé 2008 et 2012 et il est là aux deux endroits.
Aaron Bertrand

Réponses:


24

C'est parce que vous cliquez sur la mauvaise chose. Ne pas le bouton droit sur les bases de données , mais vous devez réellement le bouton droit sur la base de données que vous souhaitez copier, et sous Tâches il y a une option pour Copy Database ... . En d'autres termes, cliquez avec le bouton droit sur Database1 et vous verrez cette option sous Tâches .

Selon le commentaire de @ AaronBertrand, cependant, il est fortement recommandé de ne pas utiliser l'assistant de copie de base de données. Allez simplement avec une sauvegarde et une restauration. Ce sera moins un mal de tête.

Modifier : Il semble que cette option ne soit pas disponible pour l'édition SQL Server Express. Lorsque vous vous connectez à une instance SQL Server Express, vous ne pouvez pas exécuter l'Assistant Copie de base de données. Cela est dû au fait que les deux principaux moyens d'exécuter cette tâche ne sont pas disponibles dans SQL Server Express Edition. Tout d'abord, la méthode Detach / Reattach repose sur SQL Agent (vraisemblablement pour copier les données et les fichiers journaux de la source vers la destination), et SMO a été supprimé de 2008 R2 , de sorte que cette méthode n'est pas non plus disponible dans Express 2008 R2.


1
Je clique sur la base de données que je souhaite copier uniquement. Voir le symbole cylindre doré dans l'image qui indique la base de données.

@windson Oh, je vois. D'accord, je ferais référence à la réponse de JNK, peut-être qu'elle appartient à l'une de ces catégories. Quoi qu'il en soit, ma recommandation globale serait de simplement "Générer des scripts ..." pour la base de données. Ce sera beaucoup plus facile et moins sujet aux erreurs.
Thomas Stringer

Voir mon montage. Il semble que cet assistant ne soit pas disponible pour les instances SQL Server Express.
Thomas Stringer

SMO a été introduit avec Sql Server 2005, DMO est la fonction déconseillée. SMO est disponible pour l'édition express de Sql Server 2008R2.
Roi Gavish

Curieusement, l' Assistant Exportation de données dans SSMS Express dit explicitement «Pour déplacer ou copier des bases de données et leurs objets d'une instance de serveur vers une autre, annulez cet Assistant et utilisez plutôt l'Assistant Copie de base de données».
OR Mapper

9

J'ai pu faire une copie d'une base de données à l'aide de SQL Express en choisissant Sauvegarder la base de données, puis choisir Restaurer à partir de la base de données.


6
Pourquoi les downvotes? La réponse de Thomas indique que SQL Server Express n'a pas l'assistant de copie de base de données, donc la sauvegarde et la restauration sous un nouveau nom semblent une alternative simple.
Martin Smith

4

Assurez-vous qu'il n'est pas marqué pour la réplication ou la récupération / suspect / chargement / inaccessible.

À partir de la page msdn de cet assistant:

L'Assistant Copie de base de données ne peut pas être utilisé pour copier ou déplacer les bases de données suivantes.

  • Bases de données système

  • Bases de données marquées pour la réplication.

  • Bases de données marquées Inaccessible, Chargement, Hors ligne, Récupération, Suspect ou en mode d'urgence.


Salut, j'ai assuré toutes les limitations ci-dessus afin d'obtenir l'option de copie de base de données. Mais je n'ai pas encore trouvé l'option.
navule

1
@windson D'après la capture d'écran de votre question, vous semblez utiliser l'édition SQL Server Express, donc je suis curieux de savoir pourquoi vous avez accepté cette réponse alors que la seconde moitié de la réponse de Thomas apparaît plus pertinente.
Martin Smith

3

C'est étrange ... mais il semble que cette option soit supprimée dans SSMS 2008 R2. Je peux le voir dans SSMS 2005 (btw, le lien que vous avez publié utilise le même) Et donc je pense que votre seule option est simplement de créer un script pour la base de données ou de restaurer la sauvegarde avec un nom différent.


C'est dans mon SSMS local 2008 R2.
Thomas Stringer

1
Maintenant, cela devient vraiment étrange. Je peux voir cette option si je me connecte à une instance de développement SQL Server 2008 R2 ... Mais si je me connecte à une instance de l'édition Express sur un serveur distant, je ne vois pas cette option (je n'ai pas d'instance express locale, donc je ne suis pas sûr si c'est le même cas) .. Je me demande si cette option est basée sur l'édition d'instance (Dev, Express, Enterprise etc)
JackLock

6
Je vois la même chose. Il semble que cela ne soit pas disponible avec une instance SQL Server Express.
Thomas Stringer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.