sp_replmonitorhelpsubscription (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 имеет тип 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
Ограничивает результирующий набор указанным числом подписок, которые берутся из начала списка подписок. Аргумент topnum имеет тип int и не имеет значения по умолчанию.[ @exclude_anonymous = ] exclude_anonymous
Указывает, исключать ли из результирующего набора анонимные подписки по запросу. Аргумент exclude_anonymous имеет тип bit и значение по умолчанию 0; значение 1 подразумевает, что анонимные подписки исключаются, а значение 0 — что они включаются.[ @refreshpolicy= ] refreshpolicy
Только для внутреннего использования.
Результирующие наборы
Имя столбца |
Тип данных |
Описание |
---|---|---|
status |
int |
Максимальное значение состояния, берущееся по всем агентам репликации, связанным с публикацией; принимает одно из следующих значений: 1 = запущен. 2 = выполнен. 3 = выполняется. 4 = бездействует. 5 = повтор. 6 = ошибка. |
warning |
int |
Максимальный уровень предупреждений, выдаваемых подпиской, принадлежащей публикации; это значение может быть результатом операции логического OR над одним или несколькими из следующих значений: 1 = expiration — подписка на публикацию транзакций не была синхронизирована с пороговым сроком хранения. 2 = latency — превышение времени, требуемого для репликации данных из распространителя транзакций подписчиком, над пороговым значением, в секундах. 4 = mergeexpiration — подписка на публикацию слиянием не была синхронизирована с пороговым сроком хранения;. 8 = mergefastrunduration — превышение времени, потребовавшегося для завершения синхронизации подписки слиянием через быстрое сетевое соединение, над пороговым значением, в секундах. 16 = mergeslowrunduratio — превышение времени, потребовавшегося для завершения синхронизации подписки слиянием через медленное или модемное сетевое соединение, над пороговым значением, в секундах. 32 = mergefastrunspeed — скорость доставки строк во время синхронизации подписки слиянием через быстрое сетевое соединение оказалась ниже пороговой, в строках в секунду. 64 = mergeslowrunspeed — скорость доставки строк во время синхронизации подписки слиянием через медленное или модемное сетевое соединение оказалась ниже пороговой, в строках в секунду. |
subscriber |
sysname |
Имя подписчика. |
subscriber_db |
sysname |
Имя базы данных, использующейся подпиской. |
publisher_db |
sysname |
Имя базы данных публикации. |
publication |
sysname |
Имя публикации. |
publication_type |
int |
Тип публикации, может принимать одно из следующих значений: 0 = публикация транзакций. 1 = публикация моментальных снимков. 2 = публикация слиянием. |
subtype |
int |
Тип подписки может принимать одно из следующих значений: 0 = принудительная;. 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 применима для всех типов репликации.
Она упорядочивает результирующий набор в зависимости от серьезности состояния подписки, которая определяется по значению параметра monitorranking. Например, строки всех подписок в состоянии ошибки находятся выше строк подписок с предупреждениями.
Разрешения
Только члены предопределенной роли db_owner или replmonitor базы данных распространителя могут выполнять хранимую процедуру sp_replmonitorhelpsubscription.