copier une base de données dans SQL Server Express?

je voudrais faire une copie d'une base de données que j'ai, mais le garder sur le même serveur que la base de données de tests. Cependant, tout ce que j'ai trouvé est d'utiliser l'assistant de base de données de copie (J'utilise MS SQL Server Express).

les instructions disent toujours: dans SQL Server Management Studio, dans Object Explorer, étendre les bases de données, droit-cliquez sur une base de données, pointez vers les tâches, puis cliquez sur Copier la base de données.

Je n'ai pas l'option Copier la base de données. Je suis en cours d'exécution en tant qu'administrateur, donc aucune idée pourquoi il manque pour moi - est-il quelque chose que je dois installer séparément? Je ne peux pas faire la déconnexion/fixation puisqu'il copie sur le même serveur. J'ai essayé de détacher, copier le MDF / LDF, renommer, attacher mais comme vous pouvez l'imaginer que foiré une tonne vers le haut :) Je ne suis pas grand avec SQL pour le faire tout programmatically. Est-il un outil que je pourrais utiliser?

44
demandé sur p.campbell 2010-11-24 20:02:33

12 réponses

Dans SSMS 2008, vous pouvez faire ceci:

  1. Créer une sauvegarde de la base de données que vous souhaitez copier

  2. dans SSMS, cliquez avec le bouton droit de la souris sur 'Databases' et sélectionnez 'Restore Database'

  3. sélectionnez la base de données que vous souhaitez copier à partir de la liste déroulante 'From database' dans la section 'Source for restore'

  4. entrez le nom de la nouvelle base de données dans le champ "to database" dans la section "Destination for Restore" - ce ne peut être le nom d'une base de données existante.

  5. cliquez sur OK

Vous avez terminé! :)

70
répondu Steve Wilkes 2013-09-21 07:24:11

Dans SQL Server 2012 Express, vous pouvez le faire comme suit:

  1. Créer une sauvegarde de la base de données que vous souhaitez copier
  2. cliquez avec le bouton droit de la souris sur" Bases de données "et sélectionnez"Restaurer les fichiers et les groupes de fichiers"
  3. entrez le nom de la nouvelle base de données dans le champ "to database".
  4. sélectionnez "from device" puis sélectionnez le fichier que vous avez sauvegardé dans la première étape
  5. cliquez sur "OK"

cela "clonera" la base de données avec le correct tableau des paramètres tels que la "valeur par défaut" et "auto augmenter", etc.

46
répondu rekinyz 2013-11-13 13:04:18

SQL Express base de données a un bouton d'exportation, je viens d'exporter la base de données vers une nouvelle base de données sur le même serveur, il copie la base de données. Il suffit de cliquer droit sur le nom de base de données.

8
répondu DmitriySidyakin 2013-08-16 08:21:17

prenez ces mesures pour faire une copie de la base de données dans SQL Express

  1. Stop SQL
  2. Copiez le mdf, le ldf et tout autre fichier pour la base de données à un nouvel emplacement (assurez-vous d'obtenir le fichier log)
  3. Modifier le nom de chaque fichier copié
  4. Start SQL
  5. cliquez avec le bouton droit de la souris sur la base de données SSMQ et sélectionnez attach
  6. assurez-vous de modifier le nom dans la colonne "Joindre"
  7. mettre à Jour l'emplacement du fichier dans le volet inférieur de "Détails de la base de données" à l'emplacement de vos fichiers copiés (en particulier ce fichier log)

j'ai pu copier une base de données sur mon système SQL Express avec cette méthode

alt text

3
répondu RC_Cleland 2014-08-19 19:29:26

juste être conscient si vous utilisez SQL Server Express 2012 d'aller dans les fichiers d'option et s'assurer que les fichiers de destination (restaurer sous forme de colonne) sont différents des fichiers d'origine *.mdf et *.journal

( j'ai essayé de mettre une image, mais besoin de 10 réputation :p)

2
répondu valdessir 2013-07-26 21:45:58

Je ne crois pas que la version Express du gestionnaire aura la fonction de base de données de copie. Avez-vous envisagé de copier via la méthode de sauvegarde et de restauration?

http://msdn.microsoft.com/en-us/library/ms190436.aspx

1
répondu johnny 2010-11-24 17:06:58

j'ai trouvé le problème! Cliquer sur Bases de données, restaurer, puis faire ce qui suit: Après avoir choisi d'où restaurer, et écrit le nom de la destination db, allez dans les fichiers [annotation 1 sur l'image] et changez les noms des fichiers de la colonne de droite en des noms différents de ceux d'origine [annotation 2 sur l'image] ensuite, ça fonctionne :)

 SEE THE PICTURE HERE <

1
répondu DiSaSteR 2015-12-03 10:06:16

j'ai juste pensé à un moyen très astucieux de contourner cela:) alors j'ai pensé que je devrais poster mon idée. Notez que c'est "non testé" mais je pense que ça va marcher.

  1. faire un "Back Up..."base de données (en théorie c'est sur votre serveur de production, mais il ne doit pas être)
  2. Copiez le fichier de sauvegarde (depuis votre serveur prod) sur votre machine de développement
  3. en supposant que vous utilisez SSMS Developer Edition sur votre développement machine, vous pouvez alors faire un " restaurer" sur votre machine de développement, ensuite, faites une "base de données de copie" ensuite aussi sur votre développement machine (pour créer une nouvelle copie de la DB)
  4. maintenant Faites un "Back Up..."sur la nouvelle base de données que vous venez de créer, Copiez le fichier de sauvegarde (sur votre serveur de production) et faites une "restauration" sur le serveur sql express server:)

Espérons que cela aide un peu les gens :)

Cheers,

Jeff

1
répondu Jeff Moretti 2018-03-10 19:16:21

la solution est certainement de créer une sauvegarde et de la restaurer, mais assurez-vous que vous êtes la copie restaurée pointe vers différent .mdf et .fichiers ldf.

Voici comment vérifier qu'en utilisant SSMS 2014 et une installation SQL Server 12: en supposant que vous créez et restaurez des sauvegardes sur votre disque local.

  • Créer une sauvegarde de votre base de données existante
    • faites un clic droit sur la base de données et choisissez "Sauvegarder..."sous" tâches."
    • (si vous quittez la l'emplacement par défaut, vous n'avez pas à chasser de l'arrière jusqu'à l'étape suivante lorsque vous restaurez.)
  • restaurer votre sauvegarde dans une nouvelle base de données:
    • clic droit sur les bases de données, choisissez "Restaurer la base de données"
    • sélectionnez "device"
    • cliquez sur le bouton ellipsis ("...") pour ouvrir la "Sélection des périphériques de Sauvegarde" boîte de dialogue.
    • choisissez "File" comme type de support de sauvegarde et cliquez sur le bouton" add"
    • Sélectionnez la sauvegarde que vous venez de faire, cliquez sur ok (deux fois)
    • maintenant, de retour dans la boîte de dialogue" Restaurer la base de données", tapez un nouveau nom pour votre base de données de destination
    • Cliquez sur "fichiers" dans "sélectionner une page" et assurez-vous que "restauration" est pointe .mdf et .les noms de fichiers ldf qui n'existent pas encore
    • cliquez sur ok!
1
répondu Rose 2018-06-07 18:22:54

Essayez de faire une sauvegarde de votre base de données, et de les restaurer dans une nouvelle base de données.

  • créer une nouvelle base de données.
  • Faire une sauvegarde complète de votre original.
  • clic droit sur votre nouvelle base de données, appuyez sur restore.
  • naviguez vers votre .BAK, et d'assurer l' .mdf et .ldf correspondre à la nouvelle.
0
répondu p.campbell 2010-11-24 17:06:44

je pense que vous pourriez essayer d'importer les données vers une nouvelle base de données.

  1. Créer une base de données vide dans votre serveur sql local
  2. clic Droit sur la nouvelle base de données -> tâches -> importer des données
  3. dans L'Assistant D'importation et D'exportation de SQL Server, Sélectionnez produit env's servername comme source de données. Et sélectionnez votre nouvelle base de données de destination.
0
répondu maoyang 2016-01-11 01:56:31

j'ai eu un problème pour créer une copie de ma base de données en utilisant SQL Express 2012. Je l'ai résolu par la méthode de sauvegarde et de restauration. Après avoir fait la sauvegarde, j'ai utilisé: restauration -> fichiers et groupes de fichiers choosing restore option

Prochaine étape était d'écrire un nouveau nom pour la nouvelle base de données et définir la source:

set source and named new database

pointer le fichier source

choosing backup file

et enfin, une réécriture de la base de données existante à remplacer doit être sélectionné et définir des noms pour les nouveaux fichiers avec extension mdf et ldf qui sont différents de l'existant où est: restaurer comme

set new names for mdf and ldf files

Cette méthode a fonctionné pour moi

0
répondu Kiril Dobrev 2018-07-06 13:29:32