2009-06-10 6 views
0

데이터베이스 A와 B가 서로 다른 데이터 구조로되어있어 두 개의 데이터베이스가 있습니다. 데이터베이스 A에는 테이블 연락처가 있습니다. 데이터베이스 B에는 계정 테이블이 있습니다.하나의 데이터베이스에서 다른 데이터베이스로 데이터 전송

데이터베이스 A 테이블 연락처에서 데이터베이스 B 테이블 계정으로 데이터를 전송하려고합니다. SQL Server 2005를 사용하고 있으며이를 수행하기 위해 SQL 스크립트를 작성하려고합니다.

이 동일한 가장 쉬운 방법은 가장 쉬운 방법입니다.

건배

답변

1

SSIS를 사용하십시오. 로컬 및 원격 경우 모두 작동하며 테이블간에 변환을 설정하고 열을 열로 매핑하는 등의 작업을 수행 할 수 있습니다.

+0

SSIS BOL : http://msdn.microsoft.com/en-us/library/ms141026 다음과 같이 sp_addlinkedserver를하고 sp_addlinkedsrvlogin을 (구문에 대한 BOL을 확인), 쿼리를 사용하여 연결된 서버를 설정합니다. aspx –

+0

Thanks Mitch, SSIS에 대한 독서를 한 적이 있습니다. Amm은 SSIS가 매핑을 수행하기위한 그래픽 UI 만 가지고 있거나 여러 번 사용할 수 있도록 매핑이 완료되면 스크립트를 생성 할 수 있다는 사실입니다. 내가 작업하고있는 시스템은 데이터베이스 A에서 데이터베이스 B로 데이터를 읽는 저장 프로 시저를 실행합니다. –

1

전송을 일시 중지 하시겠습니까? 이 간단한 전송이 있다면 나는 INSERT 문을 생성하는 SELECT 문, 즉

SELECT 'INSERT INTO Accounts (ID, Name) VALUES (' + CAST(ID as VARCHAR) + ', ''' + Name + ''')' 
FROM Contacts 

실행이 데이터베이스에 쓰기 - 그리고 그것은 그래서 당신은 실행할 수 있습니다 복사 모든 INSERT 문을 뱉어 붙여 넣기합니다 데이터베이스 B.에

또는 동일한 데이터베이스에 : 아직도

INSERT INTO DatabaseA.dbo.Accounts (ID, Name) 
SELECT Id, Name 
FROM DatabaseB.dbo.Contacts 

행복하지 - 연결된 서버 설정하십시오 : http://msdn.microsoft.com/en-us/library/aa213778(SQL.80).aspx

+0

감사 russau. 나중에 수술을 여러 번해야합니다. –

1

을 가장 쉬운 방법이 반드시 가장 효율적인 것은 아닙니다. Mitch가 이미 지적했듯이 SSIS가 가장 효율적일 것입니다.

가장 쉬운 방법은 SSIS를 이미 모르는 경우 원격 데이터베이스에 연결된 서버를 설정하고 네 부분으로 된 명명법을 사용하여 데이터를 선택하는 것입니다.

INSERT INTO MyLocalTable (ColumnList) 
SELECT <Columns> FROM RemoteServer.RemoteDB.RemoteSchema.RemoteTable 
+0

감사합니다. Aaron, SSIS에서 약간의 독서를했습니다. Amm은 SSIS가 매핑을 수행하기위한 그래픽 UI 만 가지고 있거나 여러 번 사용할 수 있도록 매핑이 완료되면 스크립트를 생성 할 수 있다는 사실입니다. 내가 작업하고있는 시스템은 데이터베이스 A에서 데이터베이스 B로 데이터를 읽는 저장 프로 시저를 실행합니다. –

관련 문제