Поделиться через


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

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_replmonitorhelpsubscription
    [ [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
    [ , [ @publication_type = ] publication_type ]
    [ , [ @mode = ] mode ]
    [ , [ @topnum = ] topnum ]
    [ , [ @exclude_anonymous = ] exclude_anonymous ]
    [ , [ @refreshpolicy = ] refreshpolicy ]
[ ; ]

Аргументы

[ @publisher = ] N'publisher'

Имя издателя, состояние которого отслеживается. @publisher — sysname с значением по умолчаниюNULL. Если значение NULL, данные возвращаются для всех издателей, использующих распространитель.

[ @publisher_db = ] N'publisher_db'

Имя опубликованной базы данных. @publisher_db имеет имя sysname с значением по умолчаниюNULL. Если NULLданные возвращаются для всех опубликованных баз данных на издателе.

[ @publication = ] N'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 имеет значение int, с значением по умолчаниюNULL.

[ @exclude_anonymous = ] exclude_anonymous

Если анонимные подписки на вытягивание исключены из результирующий набор. @exclude_anonymous бит с значением по умолчанию0.

  • Значение 1 означает, что анонимные подписки исключаются.
  • Значение 0 означает, что они включены.

[ @refreshpolicy = ] refreshpolicy

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

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

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

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

1 = expiration — подписка на публикацию транзакций не синхронизирована в пределах порогового значения периода хранения.
2 = latency — время, затраченное на репликацию данных из издателя транзакций на подписчик, превышает пороговое значение в секундах.
4 = mergeexpiration — подписка на публикацию слиянием не синхронизирована в течение порогового периода хранения.
8 = mergefastrunduration — время, затраченное на завершение синхронизации подписки слиянием, превышает пороговое значение в секундах по быстрому сетевому подключению.
16 = mergeslowrunduration — время, затраченное на завершение синхронизации подписки слиянием, превышает пороговое значение в секундах по медленному сетевому подключению.
32 = mergefastrunspeed — скорость доставки строк во время синхронизации подписки слияния не поддерживает пороговое значение в строках в секунду по быстрому сетевому подключению.
64 = mergeslowrunspeed — скорость доставки строк во время синхронизации подписки слиянием не поддерживает пороговое значение в строках в секунду по медленному сетевому подключению.
subscriber sysname Имя подписчика.
subscriber_db sysname Имя базы данных, используемой для подписки.
publisher_db sysname Имя базы данных публикации.
publication sysname Имя публикации.
publication_type int Тип публикации, может принимать одно из следующих значений:

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

0 = Push
1 = потянуть
2 = анонимный
latency 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 binary(16) Идентификатор задания агента распространителя для подписки на публикацию транзакций.
mergeagentjobid binary(16) Идентификатор задания агента слияния для подписки на публикацию слиянием.
distributionagentid int Идентификатор задания агента распространителя для подписки.
distributionagentprofileid int Идентификатор профиля агента распространителя.
mergeagentid int Идентификатор задания агента слияния для подписки.
mergeagentprofileid int Идентификатор профиля агента слияния.

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

0 (успешно) или 1 (сбой).

Замечания

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

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

Разрешения

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