2개의 서로 다른 MSSQL 서버에 걸쳐 DB 테이블 복사

2개의 서로 다른 MSSQL 서버에 걸쳐 DB 테이블 복사

나는 거의 동일한 데이터 세트를 사용하여 2개의 MSSQL 서버를 실행하고 있습니다. 실제로 생산/개발 설정입니다.

이제 내 작업 흐름은 다음과 같습니다. 프로덕션 서버의 각 데이터베이스에 대해 매일 백업이 이루어집니다. 백업을 인터넷(수십 기가바이트)을 통해 개발 서버로 전송합니다. 현재 데이터 세트를 갖도록 프로덕션 서버의 백업을 사용하여 개발 서버의 데이터베이스를 "복원"합니다.

내 질문은 이것입니다:

MSSQL 서버 데이터베이스에서 단일 테이블을 "내보내고" 다른 MSSQL 서버의 데이터베이스로 가져오는 쉽고 빠른 방법이 있습니까?

나는 배심원이 조작한 POS 트릭보다는 "모범 사례" 유형의 운영에 더 관심이 있습니다.

업데이트

인터넷 검색을 한 후에 테이블을 내보내고 실행 시 가져오는 스크립트를 생성하는 MSSQL Server의 기능을 발견했습니다. 다른 서버에서 테이블을 가져와야 하기 때문에 이 기능을 사용할 수 없습니다.

답변1

대상 서버에서 SQL별로 직접 데이터를 가져올 수도 있습니다. 네트워크에 액세스할 수 있는 경우:

SELECT a.*
INTO <YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
     'SELECT *
      FROM <YOUR TABLE>
      ') AS a;

하지만 인덱스는 직접 만들어야 합니다.

또는 INSERT를 사용하는 경우:

INSERT INTO 
<YOUR TARGET TABLE>
FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
         'SELECT *
          FROM <YOUR TABLE>
          ') AS a;

답변2

내보내기 부분에 대해서는 DBA가 답변했습니다.

https://dba.stackexchange.com/questions/25755/take-a-backup-of-a-single-table-in-the-sql-server

SQL 서버에서 하나의 단일 테이블을 내보내는 방법은 Stackoverflow에서도 여러 번 답변되었습니다.

https://stackoverflow.com/questions/680552/table-level-backup

https://stackoverflow.com/questions/19698310/backup-a-single-table-with-its-data-from-a-database-in-sql-server-2008

Google은 또 다른 다양한 방법을 제공합니다.

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/923d1a5a-2f21-4193-9513-ab944145a58f/exporting-a-single-table-from-a-database

단일 테이블을 내보낸 후에는 어떤 방법(예: rsync, SFTP, scp)으로 전송한 다음 가져옵니다.

관련 정보