복제 토폴로지 정지(복제 Transact-SQL 프로그래밍)Quiesce a Replication Topology (Replication Transact-SQL Programming)

시스템정지 과정에서는 모든 노드에서 게시된 테이블에 대한 작업을 중지하고 각 노드가 다른 모든 노드의 변경 내용을 받았는지 확인합니다.Quiescing a system involves stopping activity on published tables at all nodes and ensuring that each node has received all changes from all other nodes. 이 항목에서는 여러 가지 관리 태스크에 필요한 복제 토폴로지 정지 방법과 노드가 다른 노드의 변경 내용을 모두 받았는지 확인하는 방법을 설명합니다.This topic explains how to quiesce a replication topology, which is required for a number of administrative tasks, and how to ensure that a node has received all changes from other nodes.

읽기 전용 구독이 포함된 트랜잭션 복제 토폴로지를 정지하려면To quiesce a transactional replication topology with read-only subscriptions

  1. 게시자에서 게시된 모든 테이블에 대한 작업을 중지합니다.Stop activity on all published tables at the Publisher.

  2. 게시 데이터베이스의 게시자에서 sp_posttracertoken(Transact-SQL)을 실행합니다.At the Publisher on the publication database, execute sp_posttracertoken (Transact-SQL).

  3. 게시 데이터베이스의 게시자에서 sp_helptracertokenhistory를 실행합니다.At the Publisher on the publication database, execute sp_helptracertokenhistory.

  4. 각 구독자가 추적 프로그램 토큰을 받았는지 확인합니다.Ensure that each Subscriber has received the tracer token.

업데이트 가능 구독이 포함된 트랜잭션 복제 토폴로지를 정지하려면To quiesce a transactional replication topology with updatable subscriptions

  1. 게시자 및 모든 구독자에서 게시된 모든 테이블에 대한 작업을 중지합니다.Stop activity on all published tables at the Publisher and all Subscribers.

  2. 구독자가 지연 업데이트 구독을 사용하는 경우If any Subscribers use queued updating subscriptions:

    1. 큐 판독기 에이전트가 연속 모드로 실행되지 않는 경우 해당 에이전트를 실행합니다.If the Queue Reader Agent is not running in continuous mode, run the agent. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information about running agents, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

    2. 큐가 비어 있는지 확인하려면 각 구독자에서 sp_replqueuemonitor 를 실행합니다.To verify that the queue is empty, execute sp_replqueuemonitor at each Subscriber.

  3. 게시 데이터베이스의 게시자에서 sp_posttracertoken을 실행합니다.At the Publisher on the publication database, execute sp_posttracertoken.

  4. 게시 데이터베이스의 게시자에서 sp_helptracertokenhistory를 실행합니다.At the Publisher on the publication database, execute sp_helptracertokenhistory.

  5. 각 구독자가 추적 프로그램 토큰을 받았는지 확인합니다.Ensure that each Subscriber has received the tracer token.

피어 투 피어 트랜잭션 복제 토폴로지를 정지하려면To quiesce a peer-to-peer transactional replication topology

  1. 모든 노드에서 게시된 모든 테이블에 대한 작업을 중지합니다.Stop activity on all published tables at all nodes.

  2. 토폴로지의 각 게시 데이터베이스에서 sp_requestpeerresponse 를 실행합니다.Execute sp_requestpeerresponse on each publication database in the topology.

  3. 로그 판독기 에이전트 또는 배포 에이전트가 연속 모드로 실행되지 않는 경우 해당 에이전트를 실행합니다.If the Log Reader Agent or Distribution Agent is not running in continuous mode, run the agent. 로그 판독기 에이전트는 배포 에이전트보다 먼저 시작해야 합니다.The Log Reader Agent must be started before the Distribution Agent. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information about running agents, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

  4. 토폴로지의 각 게시 데이터베이스에서 sp_helppeerresponses 를 실행합니다.Execute sp_helppeerresponses on each publication database in the topology. 결과 집합에 각각의 다른 노드에서 받은 응답이 들어 있는지 확인합니다.Ensure that the result set contains responses from each of the other nodes.

피어 투 피어 노드가 이전의 모든 변경 내용을 받았는지 확인하려면To ensure a peer-to-peer node has received all prior changes

  1. 확인할 노드의 게시 데이터베이스에서 sp_requestpeerresponse 를 실행합니다.Execute sp_requestpeerresponse on the publication database at the node you are checking.

  2. 로그 판독기 에이전트 또는 배포 에이전트가 연속 모드로 실행되지 않는 경우 해당 에이전트를 실행합니다.If the Log Reader Agent or Distribution Agent is not running in continuous mode, run the agent. 로그 판독기 에이전트는 배포 에이전트보다 먼저 시작해야 합니다.The Log Reader Agent must be started before the Distribution Agent. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information about running agents, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

  3. 확인할 노드의 게시 데이터베이스에서 sp_helppeerresponses 를 실행합니다.Execute sp_helppeerresponses on the publication database at the node you are checking. 결과 집합에 각각의 다른 노드에서 받은 응답이 들어 있는지 확인합니다.Ensure that the result set contains responses from each of the other nodes.

병합 복제 토폴로지를 정지하려면To quiesce a merge replication topology

  1. 게시자 및 모든 구독자에서 게시된 모든 테이블에 대한 작업을 중지합니다.Stop activity on all published tables at the Publisher and at all Subscribers.

  2. 각 구독에 대해 병합 에이전트를 두 번 실행합니다. 첫 번째 실행에서는 모든 구독을 동기화하고 두 번째 실행에서는 각 구독을 동기화합니다.Run the Merge Agent for each subscription two times: synchronize all subscriptions once and then synchronize each subscription a second time. 이렇게 하면 모든 변경 내용이 모든 노드에 복제됩니다.This ensures that all changes are replicated to all nodes. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.For more information about running agents, see Replication Agent Executables Concepts or Start and Stop a Replication Agent (SQL Server Management Studio).

    참고

    동기화 중 충돌이 발생하면 병합 에이전트를 두 번 실행한 후 충돌 해결에 필요한 변경 내용이 모든 노드에 전파되지 않을 수 있습니다.If conflicts occur during synchronization, it is possible that changes required by conflict resolution will not be propagated to all nodes after running the Merge Agent two times.

관련 항목:See Also

피어 투 피어 토폴로지 관리(복제 Transact-SQL 프로그래밍) Administer a Peer-to-Peer Topology (Replication Transact-SQL Programming)
트랜잭션 복제에 대한 대기 시간 측정 및 연결 유효성 검사Measure Latency and Validate Connections for Transactional Replication