SQL Server 이외 구독자
적용 대상: SQL Server
다음 SQL Server 이외 구독자는 밀어넣기 구독을 사용하여 스냅샷 및 트랜잭션 게시물을 구독할 수 있습니다. 구독은 나열된 OLE DB 공급자의 최신 버전을 사용하여 나열된 각 데이터베이스의 최신 버전 2개에 대해 지원됩니다.
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 Subscribers를 사용하여 솔루션을 만듭니다.
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 이외 구독자의 경우 배포 에이전트는 구독 데이터베이스에 대해 [(기본 대상)] 값을 사용하고 배포 에이전트에 대해서는 -SubscriberDB 매개 변수를 사용합니다.
Oracle의 경우 한 대의 서버에 데이터베이스가 하나만 있으므로 데이터베이스를 지정할 필요가 없습니다.
IBM Db2의 경우 데이터베이스는 DB2 연결 문자열에 지정됩니다. 자세한 정보는 비SQL Server 구독자에 대한 구독 만들기
SQL Server 배포자가 64비트 플랫폼에서 실행되는 경우 64비트 버전의 적절한 OLE DB 공급자를 사용해야 합니다.
복제는 게시자 및 구독자에 사용되는 데이터 정렬/코드 페이지에 관계없이 유니코드 형식으로 데이터를 이동합니다. 게시자와 구독자 간에 복제할 때 호환되는 데이터 정렬/코드 페이지를 선택하는 것이 좋습니다.
문서을 게시물에 추가하거나 게시물에서 삭제하는 경우 비 SQL Server 구독자에 대한 구독을 다시 초기화해야 합니다.
모든 SQL Server 이외 구독자에 대해 지원되는 제약 조건은 NULL과 NOT NULL뿐입니다. 기본 키 제약 조건은 고유 인덱스로 복제됩니다.
값 NULL은 빈 값, 빈 문자열 및 NULL을 나타내는 방법에 영향을 주는 다른 데이터베이스에 의해 다르게 처리됩니다. 그러면 고유한 제약 조건이 정의된 열에 삽입된 값의 동작에 영향을 줍니다. 예를 들어 Oracle에서는 고유하다고 판단되는 열에 여러 NULL 값을 사용할 수 있지만 SQL Server에서는 고유 열에 NULL 값을 하나만 사용할 수 있습니다.
추가 요소는 열이 NOT NULL로 정의될 때 NULL 값, 빈 문자열 및 빈 값을 처리하는 방법입니다. Oracle 구독자에 대한 이 문제를 해결하는 방법에 대한 자세한 정보는 Oracle 구독자를 참조하세요.
구독이 제거되면 SQL Server가 아닌 구독자에서 복제 관련 메타데이터(트랜잭션 시퀀스 테이블)가 삭제되지 않습니다.
구독자 데이터베이스의 요구 사항 준수
게시된 스키마와 데이터는 구독자에서 데이터베이스 요구 사항을 준수해야 합니다. 예를 들어 SQL Server가 아닌 데이터베이스의 최대 행 크기가 SQL Server보다 작은 경우 게시된 스키마와 데이터가 이 크기를 초과하지 않는지 확인해야 합니다.
SQL Server 이외 구독자에 복제된 테이블은 구독자에서 데이터베이스의 테이블 명명 규칙을 채택합니다.
비 SQL Server 구독자에 대해서는 DDL이 지원되지 않습니다. 스키마 변경에 관해 자세한 정보는 게시 데이터베이스의 스키마 변경을 참조하세요.
복제 기능 지원
SQL Server는 밀어넣기 및 끌어오기라는 두 가지 유형의 구독을 제공합니다. SQL Server 이외 구독자는 배포 에이전트 SQL Server 배포자에서 실행되는 밀어넣기 구독을 사용해야 합니다.
SQL Server에서는 네이티브 bcp 모드 스냅샷과 문자 모드 스냅샷을 제공합니다. SQL Server 이외 구독자에는 문자 모드 스냅샷이 필요합니다.
SQL Server 이외 구독자는 즉시 업데이트 구독 또는 지연 업데이트 구독을 사용할 수 없거나 피어 투 피어 토폴로지의 노드일 수 없습니다.
SQL Server 이외 구독자는 백업에서 자동으로 초기화할 수 없습니다.