2008-09-30 4 views
27

SQLServer 2005 테스트 서버의 레코드를 라이브 서버로 복사해야합니다. 이것은 평면 조회 테이블이므로 외래 키나 다른 참조 무결성에 대해서는 걱정할 필요가 없습니다.SQLServer 데이터베이스의 두 인스턴스간에 데이터 레코드를 복사하는 방법

라이브 서버에서 다시 레코드를 입력 할 수는 있지만 이것은 귀찮습니다. 테스트 서버 레코드와 테이블 데이터 전체를 SQL 스크립트로 내 보내서 실행할 수는 있지만 라이브 시스템에있는 레코드를 덮어 쓰지 않고 추가 만 할 수 있습니다.

원하는 레코드 만 선택하여 라이브 서버로 전송하거나 다른 방법으로 전송할 수 있습니까? 우리는 셰어 포인트를 가지고 있지 않습니다. 두 가지 인스턴스간에 직접 복사 할 수있는 것으로 알고 있습니다.

답변

39

프로덕션 SQL 서버와 테스트 SQL 서버가 대화 할 수있는 경우 SQL 삽입 문을 사용하면됩니다.

처음 실행 테스트 서버에 다음

Execute sp_addlinkedserver PRODUCTION_SERVER_NAME 

그럼 그냥 삽입 문을 작성합니다

INSERT INTO [PRODUCTION_SERVER_NAME].DATABASE_NAME.dbo.TABLE_NAME (Names_of_Columns_to_be_inserted) 
SELECT Names_of_Columns_to_be_inserted 
FROM TABLE_NAME 
+0

이것은 훌륭한 솔루션입니다. 때로는 SQL Server 가져 오기/내보내기 마법사가 어려울 수도 있습니다. 이것은 정말 쉬운 과정입니다. – JeremyCanfield

2

SSIS 패키지는 전송을 수행하는 데 가장 적합하며 설치하는 데 몇 초가 걸릴 것입니다!

+0

당신이 내가 복사 할 필요가 백 테이블이있는 경우에 어떤 것이 좋습니다? 백업/복원은 잘못된 옵션입니다. 조치를 취하는 데 3 일이 소요되며 다른 데이터를 정리하려면 반나절 걸릴 것입니다. 감사. – Stoleg

+0

복사본에 여러 테이블을 설정할 수 있습니다. SSIS 패키지는 반복 가능합니다. –

1

저는 SQL로 스크립트를 작성하고 다른 서버에서 실행하여 빠르고 쉽게 전송할 수 있습니다. 이 작업이 자주 수행되고 메커니즘을 설정해야하는 경우 이전 DTS (Data Transformation Services)와 유사한 SQL Server Integration Services (SSIS)가 이러한 종류의 작업을 위해 설계되었습니다. Mini-Visual Studio 환경에서 솔루션을 개발하고 데이터 이동 및 변형을위한 매우 복잡한 솔루션을 작성할 수 있습니다.

11

SQL Server Management Studio를 사용하고 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업> 내보내기로 이동하여 내보내기 작업을 수행합니다. 나는 데이터베이스뿐만 아니라 서버에서도 작동한다고 생각하지만 확실하지는 않습니다.

+1

슬프게도이 기능은 SQLServer 2005에서 사용할 수 없습니다. –

+0

+1 매우 빠르고 간단하며 작업을 수행하는 SSIS 패키지를 만들고 실행합니다. – Aki

관련 문제