sp_replmonitorhelpsubscription(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
게시자에서 하나 이상의 게시에 속하는 구독에 대한 현재 상태 정보를 반환하고 반환된 각 구독에 대해 하나의 행을 반환합니다. 복제 모니터링에 사용되는 이 저장 프로시저는 배포 데이터베이스의 배포자에서 실행됩니다.
구문
sp_replmonitorhelpsubscription [ @publisher = ] 'publisher'
[ , [ @publisher_db = ] 'publisher_db' ]
[ , [ @publication = ] 'publication' ]
[ , [ @publication_type = ] publication_type ]
[ , [ @mode = ] mode ]
[ , [ @topnum = ] topnum ]
[ , [ @exclude_anonymous = ] exclude_anonymous ]
[ , [ @refreshpolicy = ] refreshpolicy ]
인수
[ @publisher = ] 'publisher'
모니터링 중인 게시자의 이름입니다. 게시자는 sysname이며 기본값은 NULL입니다. null이면 배포자를 사용하는 모든 게시자에 대한 정보가 반환됩니다.
[ @publisher_db = ] 'publisher_db'
게시된 데이터베이스의 이름입니다. publisher_db sysname이며 기본값은 NULL입니다. NULL이면 게시자의 게시된 모든 데이터베이스에 대한 정보가 반환됩니다.
[ @publication = ] 'publication'
모니터링되는 게시의 이름입니다. publication 은 sysname이며 기본값은 NULL입니다.
[ @publication_type = ] publication_type
발행물의 형식인 경우 publication_type int이며 이러한 값 중 하나일 수 있습니다.
값 | 설명 |
---|---|
0 | 트랜잭션 게시입니다. |
1 | 스냅샷 게시. |
2 | 병합 게시 |
NULL(기본값) | 복제에서 게시 유형을 확인하려고 합니다. |
[ @mode = ] mode
구독 모니터링 정보를 반환할 때 사용할 필터링 모드입니다. 모드 는 int이며 이러한 값 중 하나일 수 있습니다.
값 | 설명 |
---|---|
0 (기본값) | 모든 구독을 반환합니다. |
1 | 오류가 있는 구독만 반환합니다. |
2 | 임계값 메트릭 경고를 생성한 구독만 반환합니다. |
3 | 오류가 있거나 임계값 메트릭 경고를 생성한 구독만 반환합니다. |
4 | 최악의 성능의 상위 25개 구독을 반환합니다. |
5 | 성능이 가장 낮은 50개의 구독을 반환합니다. |
6 | 현재 동기화 중인 구독만 반환합니다. |
7 | 현재 동기화되지 않는 구독만 반환합니다. |
[ @topnum = ] topnum
결과 집합을 반환된 데이터의 맨 위에 있는 지정된 수의 구독으로만 제한합니다. topnum은 기본값이 없는 int입니다.
[ @exclude_anonymous = ] exclude_anonymous
익명 끌어오기 구독이 결과 집합에서 제외되는 경우입니다. exclude_anonymous 비트이며, 기본값은 0이고, 값이 1이면 익명 구독이 제외되고 값이 0이면 포함됩니다.
[ @refreshpolicy = ] refreshpolicy
내부 전용입니다.
결과 집합
열 이름 | 데이터 형식 | Description |
---|---|---|
status | int | 게시와 연결된 모든 복제 에이전트의 상태를 검사하고 다음 순서로 발견된 가장 높은 상태를 반환합니다. 6 = 실패 5 = 다시 시도 2 = 중지됨 4 = 유휴 상태 3 = 진행 중 1 = 시작됨 |
경고 | int | 게시에 속한 구독에 의해 생성된 최대 임계값 경고입니다. 이 경고는 이러한 값 중 하나 이상의 논리적 OR 결과일 수 있습니다. 1 = 만료 - 트랜잭션 게시에 대한 구독이 보존 기간 임계값 내에서 동기화되지 않았습니다. 2 = 대기 시간 - 트랜잭션 게시자에서 구독자에 데이터를 복제하는 데 걸린 시간이 임계값(초)을 초과합니다. 4 = mergeexpiration - 병합 게시에 대한 구독이 보존 기간 임계값 내에서 동기화되지 않았습니다. 8 = mergefastrunduration - 병합 구독의 동기화를 완료하는 데 걸리는 시간이 빠른 네트워크 연결을 통해 임계값(초)을 초과합니다. 16 = mergeslowrunduration - 병합 구독의 동기화를 완료하는 데 걸리는 시간이 느리거나 전화 접속 네트워크 연결을 통해 임계값(초)을 초과합니다. 32 = mergefastrunspeed - 병합 구독을 동기화하는 동안 행 배달 속도가 빠른 네트워크 연결을 통해 초당 행 단위로 임계값을 유지하지 못했습니다. 64 = mergeslowrunspeed - 병합 구독을 동기화하는 동안 행의 배달 속도가 느리거나 전화 접속 네트워크 연결을 통해 임계값(초당 행 수)을 유지하지 못했습니다. |
subscriber | sysname | 구독자의 이름입니다. |
subscriber_db | sysname | 구독에 사용되는 데이터베이스의 이름입니다. |
publisher_db | sysname | 게시 데이터베이스의 이름입니다. |
출판 | sysname | 발행물의 이름입니다. |
publication_type | int | 게시 유형이며 다음 값 중 하나일 수 있습니다. 0 = 트랜잭션 게시 1 = 스냅샷 게시 2 = 병합 게시 |
하위 | int | 다음 값 중 하나일 수 있는 구독 유형입니다. 0 = 푸시 1 = 끌어오기 2 = 익명 |
latency | int | 트랜잭션 게시에 대한 로그 판독기 또는 배포 에이전트 전파된 데이터 변경에 대한 가장 높은 대기 시간(초)입니다. |
latencythreshold | int | 위의 트랜잭션 게시에 대한 최대 대기 시간이며 경고가 발생합니다. |
agentnotrunning | int | 에이전트가 실행되지 않은 시간(시간)입니다. |
agentnotrunningthreshold | int | 경고가 발생하기 전까지 에이전트가 실행되지 않은 시간(시간)입니다. |
timetoexpiration | int | 동기화되지 않은 경우 구독이 만료되기 전의 시간(시간)입니다. |
expirationthreshold | int | 구독이 만료되기 전까지 경고가 발생하는 시간(시간)입니다. |
last_distsync | 날짜/시간 | 배포 에이전트 마지막으로 실행한 날짜/시간입니다. |
distribution_agentname | sysname | 트랜잭션 게시에 대한 구독에 대한 배포 에이전트 작업의 이름입니다. |
mergeagentname | sysname | 병합 게시에 대한 구독에 대한 병합 에이전트 작업의 이름입니다. |
mergesubscriptionfriendlyname | sysname | 구독에 지정된 이름입니다. |
mergeagentlocation | sysname | 병합 에이전트 실행되는 서버의 이름입니다. |
mergeconnectiontype | int | 다음 값 중 하나일 수 있는 병합 게시에 구독을 동기화할 때 사용되는 연결입니다. 1 = LAN(로컬 영역 네트워크) 2 = 전화 접속 네트워크 연결 3 = 웹 동기화. |
mergePerformance | int | 구독에 대한 모든 동기화 성능과 비교한 최근 동기화의 성능입니다. 최근 동기화의 배달 속도를 이전의 모든 배달 속도 평균으로 나눈 값을 기반으로 합니다. |
mergerunspeed | float | 구독에 대한 마지막 동기화의 배달 속도입니다. |
병합(mergerunduration) | int | 구독의 마지막 동기화를 완료하는 데 걸리는 시간입니다. |
monitorranking | int | 결과 집합에서 구독을 정렬하는 데 사용되는 순위 값이며 다음 값 중 하나일 수 있습니다. 트랜잭션 게시의 경우: 60 = 오류 56 = 경고: 성능 위험 52 = 경고: 곧 만료되거나 만료됨 50 = 경고: 초기화되지 않은 구독 40 = 실패한 명령 다시 시도 30 = 실행되지 않음(성공) 20 = 실행 중(시작, 실행 또는 유휴) 병합 게시인 경우 60 = 오류 56 = 경고: 성능 위험 54 = 경고: 장기 실행 병합 52 = 경고: 곧 만료됨 50 = 경고: 초기화되지 않은 구독 40 = 실패한 명령 다시 시도 30 = 실행 중(시작, 실행 또는 유휴) 20 = 실행되지 않음(성공) |
distributionagentjobid | binary(16) | 트랜잭션 게시 구독에 대한 배포 에이전트 작업의 ID입니다. |
mergeagentjobid | binary(16) | 병합 게시에 대한 구독에 대한 병합 에이전트 작업의 ID입니다. |
distributionagentid | int | 구독에 대한 배포 에이전트 작업의 ID입니다. |
distributionagentprofileid | int | 배포 에이전트 사용하는 에이전트 프로필의 ID입니다. |
mergeagentid | int | 구독에 대한 병합 에이전트 작업의 ID입니다. |
mergeagentprofileid | int | 병합 에이전트에서 사용하는 에이전트 프로필의 ID입니다. |
반환 코드 값
0 (성공) 또는 1 (실패)
설명
sp_replmonitorhelpsubscription 모든 유형의 복제에 사용됩니다.
sp_replmonitorhelpsubscription 모니터링 값에 따라 결정되는 구독 상태의 심각도에 따라 결과 집합을 주문합니다. 예를 들어 오류 상태의 모든 구독에 대한 행은 경고 상태의 구독에 대한 행 위에 정렬됩니다.
사용 권한
배포 데이터베이스에서 db_owner 또는 replmonitor 고정 데이터베이스 역할의 멤버만 sp_replmonitorhelpsubscription 실행할 수 있습니다.