SQL Server 이외 구독자
다음 SQL Server 이외 구독자는 밀어넣기 구독을 사용하여 스냅숏 및 트랜잭션 게시를 구독할 수 있습니다. 구독은 나열된 OLE DB 공급자의 최신 버전을 사용하는 나열된 각 데이터베이스의 가장 최신 버전 두 개에 대해 지원됩니다.
데이터베이스 |
운영 체제 |
공급자 |
---|---|---|
Oracle |
Oracle에서 지원하는 모든 플랫폼 |
Oracle OLE DB 공급자(Oracle에서 제공) |
IBM DB2 |
MVS, AS400, Unix, Linux, Windows 9.x 이상(9.x 제외) |
Microsoft HIS(Host Integration Server) OLE DB 공급자 |
Oracle 및 IBM DB2,에 구독을 만드는 방법은 Oracle 구독자 및 IBM DB2 구독자를 참조하십시오.
SQL Server 이외 구독자에 대한 고려 사항
SQL Server 이외 구독자로 복제 시 다음 사항을 고려하십시오.
일반적인 고려 사항
복제는 테이블 및 인덱싱된 뷰를 SQL Server 이외 구독자에 테이블로 게시하는 기능을 지원합니다. 인덱싱된 뷰는 인덱싱된 뷰로 복제될 수 없습니다.
새 게시 마법사에서 게시를 만든 다음 게시 속성 대화 상자를 사용하여 SQL Server 이외 구독자가 해당 게시를 사용할 수 있도록 설정할 때 SQL Server 이외 구독자의 경우에는 구독 데이터베이스에 있는 모든 개체의 소유자가 지정되지 않지만 MicrosoftSQL 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 Management Studio) 및 방법: SQL Server 이외 구독자에 대한 구독 만들기(복제 Transact-SQL 프로그래밍)를 참조하십시오.
SQL Server 배포자가 64비트 플랫폼에서 실행되는 경우 적절한 64비트 버전의 OLE DB 공급자를 사용해야 합니다.
복제는 게시자와 구독자에 사용되는 데이터 정렬/코드 페이지에 관계없이 데이터를 유니코드 형식으로 이동합니다. 게시자와 구독자 간에 복제할 때는 호환 가능한 데이터 정렬/코드 페이지를 선택하는 것이 좋습니다.
게시에서 아티클을 추가하거나 삭제하면 SQL Server 이외 구독자에 대한 구독을 다시 초기화해야 합니다.
모든 SQL Server 이외 구독자에 대해 지원되는 유일한 제약 조건은 NULL 및 NOT NULL입니다. PRIMARY KEY 제약 조건은 고유 인덱스로 복제됩니다.
빈 값, 빈 문자열 및 NULL이 표시되는 방법에 영향을 주는 NULL 값은 다른 데이터베이스와 다르게 처리됩니다. 이로 인해 UNIQUE 제약 조건이 정의된 열에 삽입된 값의 동작도 영향을 받게 됩니다. 예를 들어 Oracle에서는 고유하다고 판단되는 열에 여러 NULL 값을 사용할 수 있지만 SQL Server에서는 고유 열에 NULL 값을 하나만 사용할 수 있습니다.
또 다른 요인으로는 열이 NOT NULL로 정의된 경우 NULL 값, 빈 문자열 및 빈 값이 처리되는 방법이 있습니다. Oracle 구독자에 대해 이러한 문제를 해결하는 방법은 Oracle 구독자를 참조하십시오.
SQL Server Management Studio에서는 SQL Server 이외 구독자에 대해 SQL Server 2000 게시를 설정할 수 없습니다. SQL Server 이외 구독자에 대해 SQL Server 2000 게시를 설정하려면 SQL Server 2000 엔터프라이즈 관리자에서 사용할 수 있는 게시 만들기 마법사를 사용합니다. 게시 만들기 마법사의 구독자 유형 지정 페이지에서 **유형이 다른 데이터 원본(예: Oracle, Microsoft Access)**을 선택합니다.
구독자 데이터베이스의 요구 사항 준수
게시된 스키마와 데이터는 구독자에서 데이터베이스 요구 사항을 준수해야 합니다. 예를 들어 SQL Server 이외 데이터베이스의 최대 행 크기가 SQL Server의 최대 행 크기보다 작은 경우 게시된 스키마와 데이터가 이 크기를 초과하지 않아야 합니다.
SQL Server 이외 구독자에 복제된 테이블은 구독자에서 데이터베이스의 테이블 명명 규칙을 따릅니다.
게시된 스키마에 대한 변경 사항은 SQL Server 이외 구독자에게 전파되지 않습니다. 스키마 변경에 대한 자세한 내용은 게시 데이터베이스의 스키마 변경을 참조하십시오.
복제 기능 지원
SQL Server에서 밀어넣기와 끌어오기 구독 유형을 제공합니다. SQL Server 이외 구독자는 배포 에이전트가 SQL Server 배포자에서 실행되는 밀어넣기 구독을 사용해야 합니다.
SQL Server에서는 네이티브 bcp 모드 스냅숏과 문자 모드 스냅숏을 제공합니다. SQL Server 이외 구독자에는 문자 모드 스냅숏이 필요합니다.
SQL Server 이외 구독자는 즉시 업데이트 구독 또는 지연 업데이트 구독을 사용할 수 없거나 피어 투 피어 토폴로지의 노드일 수 없습니다.
SQL Server 이외 구독자는 백업을 사용하여 자동으로 초기화될 수 없습니다.