방법: 트랜잭션 복제에 대한 대기 시간 측정 및 연결 유효성 검사(RMO 프로그래밍)

트랜잭션 복제의 경우 서버가 연결되어 있는지를 확인하고 대기 시간을 측정할 수 있어야 합니다. 대기 시간은 추적 프로그램 토큰을 사용하여 측정합니다. 대기 시간은 게시자에서 변경된 내용이 구독자에 전파되기까지 경과되는 시간입니다. 자세한 내용은 트랜잭션 복제에 대한 대기 시간 측정 및 연결 유효성 검사를 참조하십시오. 이 정보는 RMO(복제 관리 개체)를 사용하여 프로그래밍 방식으로 가져올 수 있습니다.

트랜잭션 게시에 추적 프로그램 토큰을 게시하려면

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.

  2. TransPublication 클래스의 인스턴스를 만듭니다.

  3. 게시에 대해 NameDatabaseName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 게시 속성이 올바르게 정의되지 않았거나 해당 게시가 없는 것입니다.

  5. PostTracerToken 메서드를 호출합니다. 이 메서드는 게시의 트랜잭션 로그에 추적 프로그램 토큰을 삽입합니다.

트랜잭션 복제에 대한 대기 시간을 확인하고 연결 유효성을 검사하려면

  1. ServerConnection 클래스를 사용하여 배포자 연결을 만듭니다.

  2. PublicationMonitor 클래스의 인스턴스를 만듭니다.

  3. Name, DistributionDBName, PublisherNamePublicationDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 게시 모니터 속성이 올바르게 정의되지 않았거나 해당 게시가 없는 것입니다.

  5. EnumTracerTokens 메서드를 호출합니다. 반환된 ArrayList 개체를 TracerToken 개체의 배열로 캐스팅합니다.

  6. EnumTracerTokenHistory 메서드를 호출합니다. 5단계에서 삽입한 추적 프로그램 토큰에 대한 TracerTokenID()()()() 값을 전달합니다. 그러면 선택한 추적 프로그램 토큰의 대기 시간 정보가 DataSet 개체로 반환됩니다. 모든 추적 프로그램 토큰 정보가 반환되면 게시자와 배포자 간의 연결 및 배포자와 구독자 간의 연결이 모두 있으며 복제 토폴로지가 작동하고 있는 것입니다.

추적 프로그램 토큰을 제거하려면

  1. ServerConnection 클래스를 사용하여 배포자 연결을 만듭니다.

  2. PublicationMonitor 클래스의 인스턴스를 만듭니다.

  3. Name, DistributionDBName, PublisherNamePublicationDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 게시 모니터 속성이 올바르게 정의되지 않았거나 해당 게시가 없는 것입니다.

  5. EnumTracerTokens 메서드를 호출합니다. 반환된 ArrayList 개체를 TracerToken 개체의 배열로 캐스팅합니다.

  6. CleanUpTracerTokenHistory 메서드를 호출합니다. 다음 값 중 하나를 전달합니다.

    • 5단계에서 삽입한 추적 프로그램 토큰에 대한 TracerTokenID()()()() 값을 전달합니다. 그러면 선택한 토큰에 대한 정보가 삭제됩니다.

    • DateTime 개체를 전달합니다. 그러면 지정한 날짜보다 오래된 모든 토큰에 대한 정보가 삭제됩니다.