2016-06-01 4 views
0

Je souhaite copier certaines tables de mon DB1 vers mon DB2. Les tables dans DB1 sont identiques aux tables sur DB2 mais les données dans les tables sont différentes. Je souhaite copier des tables de DB1 vers DB2, mais conserver les anciennes tables et données sur DB2. Comment puis-je faire cela avec Microsoft SQL Server Management Studio? J'ai essayé de faire un clic droit et de faire l'exportation, mais avant que je doive cliquer sur le bouton Terminer, cela ressemblerait à copier toutes les données de DB1 vers DB2 et je ne le veux pas. Si quelqu'un peut aider avec ceci s'il vous plaît faites le moi savoir. Je vous remercie.Comment copier une table d'une base de données à une autre?

+0

sont vos tables sur le même serveur? Aussi vous utilisez MySQL ou tSQL –

+0

ils sont sur des serveurs différents et je veux juste faire copt de table de DB1 à DB2 et garder le même nom. J'utilise mySQL. –

+0

avez-vous essayé d'utiliser l'assistant d'importation importé comme suggéré par Thomas dans sa réponse –

Répondre

1

Vous pouvez exporter les tables de DB1 avec un autre nom vers DB2 si vous ne souhaitez pas les modifier. Dans l'assistant d'exportation, changez simplement le nom de la table de destination.

+0

Devrais-je simplement mettre une copie de mot à la fin de la table que j'exporterai de cette façon, je peux voir ce qui est l'ancienne table et ce qui existe déjà? –

+0

Oui, ajoutez simplement un suffixe dans le nom de la destination et vous identifierez facilement la table copiée. – DoubleT28

0

Vous souhaitez fusionner le schéma ET les données de DB1 dans DB2?

Vous devriez énumérer les exigences exactes, la question est encore vague même avec cette information. Quelles données voulez-vous garder, qu'est-ce qui est acceptable? Quel schéma voulez-vous conserver, archivez-vous les anciennes tables? Changer les noms de table? Si vous tentez littéralement de fusionner db1 en db2, votre problème consistera à gérer les identifiants de relation qui seront réaffectés puisque DB2 pourrait déjà utiliser des ID présents dans DB1.

+0

J'ai deux serveurs, sur les deux serveurs j'ai les mêmes tables mais des données différentes dans les tables. Je veux garder les mêmes noms de table et juste faire une copie supplémentaire sur DB2 à partir de DB1. –

+0

Eh bien, vous aurez besoin de mettre quelque chose sur le nom à la destination pour les différencier. Je ne suis pas à 100% mais je ne pense pas que l'utilisation de l'assistant d'exportation va maintenir des relations sur les 'nouvelles' tables si vous vous en souciez. thomas tuyaerts a le moyen le plus simple. –

+0

Comment je peux faire une copie d'une table à une autre si elles sont dans une DB différente. Dans mon cas de DB1 à DB2? J'ai essayé et j'ai reçu une erreur: Validation (erreur) Messages Erreur 0xc0202049: flux de données Tâche 1: échec d'insertion dans la colonne en lecture seule "SectionId". –

0

Si vous voulez conserver les anciennes données dans le tableau de destination (ou mettre à jour juste il), de sorte que vous pouvez utiliser un Merge:

MERGE INTO db2.dbo.table1 B 
USING (
    SELECT * 
    FROM db1.dbo.table1) A 
ON (A.Column1 = B.Column1) 
WHEN MATCHED THEN 
    -- update 
WHEN NOT MATCHED THEN 
    -- insert new rows 
0
USE db2; 

CREATE TABLE table2 LIKE db1.table1; 

INSERT INTO table2 
    SELECT * FROM db1.table1; 

C'est le moyen de copier une table + données de une base de données à une autre base de données. en utilisant le même serveur.