SQL Server 이외 구독자

적용 대상:SQL Server

다음의 비SQL Server 구독자는 푸시 구독을 통해 스냅샷 및 트랜잭션 출판물을 구독할 수 있습니다. 각 데이터베이스의 가장 최근 두 버전은 OLE DB 제공자의 최신 버전을 사용하여 구독을 지원합니다.

비SQL Server 구독자에 대한 이기종 복제는 권장되지 않습니다. Oracle 출판은 더 이상 지원되지 않습니다. 데이터를 이동하려면 변경 데이터 캡처와 SSIS를 사용하여 솔루션을 만듭니다.

주의

SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.

데이터베이스 운영 체제 공급자
Oracle Oracle에서 지원하는 모든 플랫폼 Oracle OLE DB 공급자(Oracle에서 제공)
IBM Db2 MVS, AS400, Unix, Linux, Windows(9.x 제외) Microsoft HIS(Host Integration Server) OLE DB 공급자

Oracle 버전 정보:
SQL Server는 트랜잭션 및 스냅샷 복제에 대해 다음과 같은 다른 유형의 시나리오를 지원합니다.

  • SQL Server에서 비 SQL Server 구독자에게 데이터 게시

  • Oracle과 오가는 데이터를 게시하는 데는 다음과 같은 제한 사항이 있습니다.

복제 2016년 또는 그 이전 2017년 이후
Oracle에서 복제 Oracle 10g 또는 그 이전 버전만 지원 Oracle 10g 또는 이전 버전만 지원
Oracle에 복제 Oracle 12c까지 지원되지 않음

비SQL Server 구독자에 대한 이기종 복제는 권장되지 않습니다. Oracle 출판은 더 이상 지원되지 않습니다. 데이터를 이동하려면 변경 데이터 캡처와 SSIS를 사용하여 솔루션을 만듭니다.

Oracle 및 IBM Db2 구독 생성에 대한 자세한 내용은 Oracle 구독자 및 IBM Db2 구독자를 참조하세요.

비SQL Server 구독자를 위한 고려사항

SQL Server 이외 구독자에 복제할 때는 다음 사항을 고려해야 합니다.

일반적인 고려 사항

  • 복제는 비SQL Server 구독자에게 테이블과 인덱스 뷰를 테이블로 게시하는 것을 지원합니다(인덱스 뷰는 인덱스 뷰로 복제할 수 없습니다).

  • 새 출판 마법사에서 출판물을 생성한 후 출판 속성 상자를 통해 비SQL Server 구독자에게 활성화할 때, 비SQL Server 구독자를 위해 구독 데이터베이스 내 모든 객체의 소유자를 지정하지 않습니다. Microsoft SQL Server 구독자의 경우, 소유자는 출판 데이터베이스 내 해당 객체의 소유자입니다.

  • 출판물에 SQL Server 구독자와 비SQL Server 구독자가 모두 있는 경우, SQL Server 구독자를 생성하기 전에 반드시 비SQL Server 구독자를 위해 출판물을 활성화해야 합니다.

  • 기본적으로 스냅샷 에이전트가 비SQL Server 구독자를 위해 생성하는 스크립트는 문법에서 CREATE TABLE 따옴표가 없는 식별자를 사용합니다. 따라서 test라는 이름의 게시된 테이블은 TEST로 복제됩니다. 게시 데이터베이스에 있는 테이블과 동일한 대/소문자를 사용하려면 배포 에이전트의 -QuotedIdentifier 매개 변수를 사용하십시오. 비SQL Server 구독자 버전에서 공개된 객체 이름(테이블, 열, 제약 조건 등)에 공백이나 예약 단어가 포함된 경우, 반드시 -QuotedIdentifier 매개변수를 사용해야 합니다. 이 매개 변수에 대한 자세한 내용은 복제 배포 에이전트를 참조하십시오.

  • 배포 에이전트 실행되는 계정에는 OLE DB 공급자의 설치 디렉터리에 대한 읽기 권한이 있어야 합니다.

  • 비SQL Server 구독자의 경우 기본적으로 배포 에이전트는 구독 데이터베이스에 대해 ([(default destination)]배포 에이전트의 -SubscriberDB 매개변수) 값을 사용합니다:

    • 오라클의 경우, 서버는 최대 하나의 데이터베이스만 가지고 있으니 데이터베이스를 지정할 필요가 없습니다.

    • IBM Db2의 경우, DB2 연결 문자열에서 데이터베이스를 지정하세요. 자세한 내용은 SQL Server가 아닌 구독자에 대한 구독 만들기를 참조하세요.

  • SQL Server 배포자가 64비트 플랫폼에서 실행되는 경우 64비트 버전의 적절한 OLE DB 공급자를 사용해야 합니다.

  • 복제는 Publisher와 Subscriber에서 사용하는 콜레이션 또는 코드 페이지와 관계없이 유니코드 형식으로 데이터를 이동시킵니다. 퍼블리셔와 구독자 간 복제 시 호환되는 콜레이션 또는 코드 페이지를 선택하세요.

  • 출판물에서 기사를 추가하거나 삭제할 경우, 비SQL Server 구독자의 구독을 다시 초기화해야 합니다.

  • 모든 비SQL Server 구독자에게 지원되는 유일한 제약 조건은 다음과 같습니다: NULL 그리고 NOT NULL. 기본 키 제약 조건은 고유 인덱스로 복제됩니다.

  • 데이터베이스마다 값 NULL을 서로 다르게 처리합니다. 이 차이는 빈 값, 빈 문자열, 그리고 a NULL 가 어떻게 표현되는지에 영향을 미칩니다. 이 차이는 고유한 제약 조건이 정의된 열에 삽입된 값들의 동작에 영향을 미칩니다. 예를 들어, Oracle은 고유로 간주되는 열에 여러 NULL 값을 허용하는 반면, SQL Server는 고유 열에 단일 NULL 값만 허용합니다.

    또 다른 요소는 열이 NULL로 정의된 경우 NOT NULL 값, 빈 문자열 및 공백 값이 어떻게 처리되는지입니다. Oracle 구독자에 대한 이 문제를 해결하는 방법에 대한 자세한 정보는 Oracle 구독자를 참조하세요.

  • 복제는 구독을 해제할 때 비SQL Server 구독자의 복제 관련 메타데이터(트랜잭션 시퀀스 테이블)를 삭제하지 않습니다.

구독자 데이터베이스의 요구 사항 준수

  • 게시된 스키마와 데이터는 구독자 데이터베이스의 요구사항을 충족해야 합니다. 예를 들어, 비SQL Server 데이터베이스의 최대 행 크기가 SQL Server보다 작다면, 게시된 스키마와 데이터가 이 크기를 초과하지 않도록 주의하세요.

  • 비SQL Server 구독자에게 복제된 테이블은 구독자에서 데이터베이스의 테이블 명명 규칙을 채택합니다.

  • DDL은 SQL Server를 사용하지 않는 구독자에게는 지원되지 않습니다. 스키마 변경에 관해 자세한 정보는 게시 데이터베이스의 스키마 변경을 참조하세요.

복제 기능 지원

  • SQL Server는 밀어넣기 및 끌어오기라는 두 가지 유형의 구독을 제공합니다. SQL Server가 아닌 구독자는 배포 에이전트가 SQL Server 배포자에서 실행되는 푸시 구독을 사용해야 합니다.

  • SQL Server에서는 네이티브 bcp 모드 스냅샷과 문자 모드 스냅샷을 제공합니다. SQL Server 이외 구독자에는 문자 모드 스냅샷이 필요합니다.

  • 비SQL Server 구독자는 즉시 업데이트나 대기열 업데이트 구독을 사용할 수 없으며, 피어 투 피어 토폴로지의 노드가 될 수 없습니다.

  • 비SQL Server 구독자는 백업에서 자동으로 초기화될 수 없습니다.