Хранимая процедура sp_replmonitorhelpsubscription (Transact-SQL)

Применимо к: даSQL Server (все поддерживаемые версии) ДаУправляемый экземпляр SQL Azure

Возвращает сведения о текущем состоянии подписок, относящихся к одной или нескольким публикациям на издателе, и одну строку для каждой возвращенной подписки. Эта хранимая процедура, используемая для наблюдения за репликацией, выполняется на распространителе в базе данных распространителя.

Значок ссылки на раздел Синтаксические обозначения в 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'имя 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 Режим фильтрации, используемый при возврате сведений мониторинга подписки. mode имеет тип int и может принимать одно из следующих значений.

Значение Описание
0 (по умолчанию) Возвращать все подписки.
1 Возвращать подписки с ошибками.
2 Возвращать подписки с предупреждениями о нарушениях пороговых показателей.
3 Возвращать подписки с ошибками или предупреждениями о нарушениях пороговых показателей.
4 Возвращает 25 самых худших подписок.
5 Возвращать 50 подписок с худшей производительностью.
6 Возвращать подписки, синхронизируемые в данный момент.
7 Возвращать подписки, не синхронизируемые в данный момент.

[ @topnum = ] topnum Ограничит результирующий набор только указанным числом подписок в верхней части возвращенных данных. топнум имеет тип int и не имеет значения по умолчанию.

[ @exclude_anonymous = ] exclude_anonymous Имеет значение, если анонимные подписки по запросу исключаются из результирующего набора. exclude_anonymous имеет бит, значение по умолчанию 0; значение 1 означает, что анонимные подписки исключаются, а значение 0 означает, что они включены.

[ @refreshpolicy = ] refreshpolicy Только для внутреннего использования.

Результирующие наборы

Имя столбца Тип данных Описание
status int Проверяет состояние всех агентов репликации, связанных с публикацией, и возвращает самое высокое состояние из обнаруженных с учетом следующего порядка:

6 = сбой

5 = повторная попытка

2 = остановлено

4 = бездействие

3 = выполняется

1 = запущено
warning int Максимальный уровень предупреждений, выдаваемых подпиской, принадлежащей публикации; это значение может быть результатом операции логического OR над одним или несколькими из следующих значений:

1 = срок действия истекает — подписка на публикацию транзакций не была синхронизирована в течение порогового срока хранения.

2 = задержка — время, затраченное на репликацию данных из транзакционных Publisher на подписчик, превышает пороговое значение в секундах.

4 = mergeexpiration — подписка на публикацию слиянием не была синхронизирована в течение порогового значения срока хранения.

8 = mergefastrunduration — время, затраченное на выполнение синхронизации подписки на публикацию слиянием, превышает пороговое значение (в секундах) при быстром сетевом подключении.

16 = mergeslowrunduration — время, затраченное на выполнение синхронизации подписки на публикацию слиянием, превышает пороговое значение (в секундах) при низком или коммутируемом сетевом подключении.

32 = mergefastrunspeed — скорость доставки строк во время синхронизации подписки на публикацию слиянием не смогла поддерживать пороговое значение скорости (в строках в секунду) при быстром сетевом подключении.

64 = mergefastrunspeed — скорость доставки строк во время синхронизации подписки на публикацию слиянием не смогла поддерживать пороговое значение скорости (в строках в секунду) по отношению к низкому или коммутируемому сетевому соединению.
подписчик sysname Имя подписчика.
subscriber_db sysname Имя базы данных, использующейся подпиской.
publisher_db sysname Имя базы данных публикации.
публикации sysname Имя публикации.
publication_type int Тип публикации, может принимать одно из следующих значений:

0 = публикация транзакций

1 = публикация моментальных снимков

2 = публикация слиянием
Подтип int Тип подписки может принимать одно из следующих значений:

0 = принудительная отправка

1 = по запросу

2 = анонимный
явно int Наибольшая задержка (в секундах) при изменении данных, зафиксированная для публикации транзакций агентом чтения журнала или агентом распространителя.
latencythreshold int Максимальная задержка для публикации транзакций, при превышении которой создается предупреждение.
agentnotrunning int Время в часах, в течение которого агент не был запущен.
agentnotrunningthreshold int Время в часах, в течение которого агент может не быть запущен, но предупреждения не последует.
timetoexpiration int Время в часах, после которого срок действия подписки истекает, если она не будет синхронизирована.
expirationthreshold int Время в часах, после которого срок действия подписки истекает, и создается предупреждение.
last_distsync datetime Дата и время последнего запуска агента распространителя.
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 двоичный (16) Идентификатор задания агента распространителя для подписки на публикацию транзакций.
mergeagentjobid двоичный (16) Идентификатор задания агента слияния для подписки на публикацию слиянием.
distributionagentid int Идентификатор задания агента распространителя для подписки.
distributionagentprofileid int Идентификатор профиля агента распространителя.
mergeagentid int Идентификатор задания агента слияния для подписки.
mergeagentprofileid int Идентификатор профиля агента слияния.

Значения кода возврата

0 (успешное завершение) или 1 (сбой)

Комментарии

sp_replmonitorhelpsubscription используется со всеми типами репликации.

sp_replmonitorhelpsubscription упорядочивает результирующий набор на основе серьезности состояния подписки, которая определяется значением мониторранкинг. Например, строки всех подписок в состоянии ошибки находятся выше строк подписок с предупреждениями.

Разрешения

Только члены предопределенной роли базы данных db_owner или replmonitor в базе данных распространителя могут выполнять sp_replmonitorhelpsubscription.

См. также

Наблюдение за репликацией программным образом