SQLServer 데이터베이스의 두 인스턴스간에 데이터 레코드를 어떻게 복사 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/153988

문제

SQLServer 2005 테스트 서버의 일부 레코드를 라이브 서버에 복사해야합니다. 평평한 조회 테이블이므로 걱정할 외부 키나 기타 참조 무결성이 없습니다.

라이브 서버에서 레코드를 다시 키울 수는 있지만 이것은 지루합니다. 테스트 서버 레코드와 테이블 데이터를 전체적으로 SQL 스크립트로 내보내고 실행할 수는 있지만 라이브 시스템에있는 레코드를 덮어 쓰고 싶지는 않습니다.

원하는 레코드 만 선택하고 전송하거나 라이브 서버로 전송할 수있는 방법은 무엇입니까? 우리는 SharePoint를 가지고 있지 않으며, 두 인스턴스 사이에 직접 복사 할 수 있다는 것을 이해합니다.

도움이 되었습니까?

해결책

생산 SQL Server 및 Test SQL Server가 대화 할 수있는 경우 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

다른 팁

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

SSIS 패키지는 전송을 수행하는 데 가장 적합하며 문자 그대로 설정하는 데 몇 초가 걸립니다!

빠르고 더러운 전송을 위해 SQL을 스크립트하고 다른 서버에서 실행합니다. 이것이 당신이 자주 수행 할 것이고 메커니즘을 설정 해야하는 경우, 구형 데이터 변환 서비스 (DTS)와 유사한 SQL Server Integration Services (SSIS)는 이러한 종류의 것을 위해 설계되었습니다. 미니 시각 스튜디오 환경에서 솔루션을 개발하고 데이터를 이동 및 변환하기위한 매우 복잡한 솔루션을 구축 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top