2016-06-01 6 views
0

내 DB1에서 내 DB2로 일부 테이블을 복사하고 싶습니다. DB1의 테이블은 DB2의 테이블과 동일하지만 테이블의 데이터는 다릅니다. DB1에서 DB2로 테이블을 복사하지만 DB2에서는 오래된 테이블과 데이터를 유지하려고합니다. Microsoft SQL Server Management Studio로 어떻게이 작업을 수행 할 수 있습니까? 마우스 오른쪽 버튼을 클릭하여 내보내기를 시도했지만 마침 버튼을 클릭하기 전에 DB1에서 DB2 로의 모든 데이터를 열거하고 싶지 않습니다. 누구든지 이걸 도와 드릴 수 있으면 알려주세요. 고맙습니다.하나의 데이터베이스에서 다른 데이터베이스로 테이블을 복사하는 방법은 무엇입니까?

+0

모두 동일한 서버에있는 테이블입니까? 또한 그들은 MySQL 또는 tSQL –

+0

다른 서버에 있고 당신은 DB1에서 DB2로 테이블의 copt를 만들고 같은 이름을 유지하고 싶습니다. 나는 MySQL을 사용한다. –

+0

당신은 Thomas가 그의 대답 –

답변

1

수정하지 않으려면 다른 이름을 사용하여 DB1의 테이블을 DB2로 내보낼 수 있습니다. 내보내기 마법사에서 대상 테이블의 이름을 변경하기 만하면됩니다.

+0

나는 테이블의 끝 부분에 단어 사본을 넣어서 그 방법으로 내보낼 것이고 나는 낡은 것이 무엇인지, 그리고 기존의 테이블이 무엇인지 볼 수 있어야합니까? –

+0

예 목적지 이름에 접미사를 추가하기 만하면 복사 된 표를 쉽게 식별 할 수 있습니다. – DoubleT28

0

그러면 DB1의 스키마 AND 데이터를 DB2에 병합 하시겠습니까?

정확한 요구 사항을 나열해야합니다. 문제는 아직 그 정보로도 막연합니다. 어떤 데이터를 보관 하시겠습니까? 보관할 스키마는 무엇입니까, 이전 테이블을 보관하고 있습니까? 테이블 이름을 변경 하시겠습니까?

사실상 db1을 db2로 병합하려는 경우 DB2가 이미 DB1에있는 ID를 사용할 수 있으므로 다시 할당 될 관계 ID 관리에 문제가있을 것입니다.

+0

두 대의 서버가 있는데 두 서버 모두 동일한 테이블이지만 테이블의 데이터가 다릅니다. 동일한 테이블 이름을 유지하고 DB1에서 DB2에 추가 복사본을 만들고 싶습니다. –

+0

글쎄, 목적지를 구별하기 위해 목적지에 이름을 붙여야 할 필요가 있습니다. 나는 100 % 아니지만 수출 마법사를 사용하면 신경 쓰면 관계를 '새로운'테이블에서도 유지할 수 있다고 생각하지 않습니다. thomas tuyaerts가 가장 간단한 방법입니다. –

+0

다른 DB에있는 경우 어떻게 한 테이블에서 다른 테이블로 복사 할 수 있습니까? 필자의 경우 DB1에서 DB2까지? 내가 시도한 및 오류 : Validating (Error) 메시지 오류 0xc0202049 : 데이터 흐름 작업 1 : 읽기 전용 열 "SectionId"삽입 실패. –

0

당신은 당신이 사용할 수 있도록 (또는 juste으로 업데이트) 대상 테이블에서 오래된 데이터를 유지하려는 경우 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; 

이것은에서 하나 개의 테이블 + 데이터를 복사 할 수있는 방법입니다 하나의 데이터베이스에서 다른 데이터베이스로. 동일한 서버를 사용합니다.