sp_replmonitorhelpsubscription(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed Instance

게시자에서 하나 이상의 게시에 속하는 구독에 대한 현재 상태 정보를 반환하고 반환된 각 구독에 대해 한 행을 반환합니다. 복제 모니터링에 사용되는 이 저장 프로시저는 배포 데이터베이스의 배포자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

  
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' 모니터링되는 게시의 이름입니다. publicationsysname이며 기본값은 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 = 대기 시간 - 트랜잭션 게시자에서 구독자에게 데이터를 복제본(replica) 데 걸린 시간이 임계값(초)을 초과합니다.

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 다음 값 중 하나일 수 있는 병합 게시에 구독을 동기화할 때 사용되는 커넥트ion입니다.

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 모든 유형의 복제본(replica) 사용됩니다.

sp_replmonitorhelpsubscription 모니터링에 따라 결정되는 구독 상태 심각도에 따라 결과 집합을 정렬합니다. 예를 들어 오류 상태의 모든 구독에 대한 행은 경고 상태의 구독에 대한 행 위에 정렬됩니다.

사용 권한

배포 데이터베이스에서 db_owner 또는 replmonitor 고정 데이터베이스 역할의 멤버만 sp_replmonitorhelpsubscription 실행할 수 있습니다.

참고 항목

프로그래밍 방식으로 복제 모니터링