Хранимая процедура 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 = Push1 = потянуть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