복제 토폴로지 정지(복제 Transact-SQL 프로그래밍)
적용 대상: SQL Server Azure SQL Managed Instance
시스템 정지 과정에서는 모든 노드에서 게시된 테이블에 대한 작업을 중지하고 각 노드가 다른 모든 노드의 변경 내용을 받았는지 확인합니다. 이 항목에서는 여러 가지 관리 태스크에 필요한 복제 토폴로지 정지 방법과 노드가 다른 노드의 변경 내용을 모두 받았는지 확인하는 방법을 설명합니다.
읽기 전용 구독을 사용하여 트랜잭션 복제 토폴로지 정지하려면
게시자에 게시된 모든 테이블에 대한 작업을 중지합니다.
게시 데이터베이스의 게시자에서 sp_posttracertoken(Transact-SQL)을 실행합니다.
게시 데이터베이스의 게시자에서 sp_helptracertokenhistory을 실행합니다.
각 구독자가 추적 프로그램 토큰을 받았는지 확인합니다.
업데이트 가능한 구독을 사용하여 트랜잭션 복제 토폴로지 정지하려면
게시자 및 모든 구독자에서 게시된 모든 테이블에 대한 작업을 중지합니다.
구독자가 지연 업데이트 구독을 사용하는 경우
큐 판독기 에이전트가 연속 모드로 실행되지 않을 경우에는 에이전트를 실행합니다. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.
큐가 비어 있는지 확인하려면 각 구독자에서 sp_replqueuemonitor를 실행합니다.
게시 데이터베이스의 게시자에서 sp_posttracertoken을 실행합니다.
게시 데이터베이스의 게시자에서 sp_helptracertokenhistory을 실행합니다.
각 구독자가 추적 프로그램 토큰을 받았는지 확인합니다.
피어 투 피어 트랜잭션 복제 토폴로지를 정지하려면
모든 노드에서 게시된 모든 테이블에 대한 작업을 중지합니다.
토폴로지의 각 게시 데이터베이스에서 sp_requestpeerresponse를 실행합니다.
로그 판독기 에이전트 또는 배포 에이전트가 연속 모드로 실행되지 않을 경우에는 에이전트를 실행합니다. 로그 판독기 에이전트는 배포 에이전트 전에 시작해야 합니다. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.
토폴로지의 각 게시 데이터베이스에서 sp_helppeerresponses를 실행합니다. 결과 집합에 다른 각 노드의 응답이 포함되어 있는지 확인합니다.
피어 투 피어 노드가 모든 이전 변경 내용을 수신했는지 확인하려면
확인하려는 노드의 게시 데이터베이스에서 sp_requestpeerresponse 실행합니다.
로그 판독기 에이전트 또는 배포 에이전트가 연속 모드로 실행되지 않을 경우에는 에이전트를 실행합니다. 로그 판독기 에이전트는 배포 에이전트 전에 시작해야 합니다. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.
확인하려는 노드의 게시 데이터베이스에서 sp_helppeerresponses를 실행합니다. 결과 집합에 다른 각 노드의 응답이 포함되어 있는지 확인합니다.
병합 복제 토폴로지를 정지하려면
게시자 및 모든 구독자에서 게시된 모든 테이블에 대한 작업을 중지합니다.
각 구독에 대한 병합 에이전트를 두 번 실행합니다. 모든 구독을 한 번 동기화한 다음 각 구독을 두 번째로 동기화합니다. 이렇게 하면 모든 변경 내용이 모든 노드에 복제됩니다. 에이전트 실행에 대한 자세한 내용은 복제 에이전트 실행 파일 개념 또는 복제 에이전트 시작 및 중지(SQL Server Management Studio)를 참조하세요.
참고 항목
동기화 중에 충돌이 발생하면 병합 에이전트이 두 번 실행한 후에도 충돌 해결에 필요한 변경 내용이 모든 노드로 전파되지 않을 수 있습니다.