sp_replmonitorsubscriptionpendingcmds (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Возвращает сведения о количестве ожидающих выполнения команд для подписки на публикацию транзакциями и грубую оценку времени, требуемого для их выполнения. Эта хранимая процедура возвращает одну строку для каждой возвращенной подписки. Эта хранимая процедура, используемая для наблюдения за репликацией, выполняется на распространителе в базе данных распространителя.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
, [ @subscription_type = ] subscription_type
, [ @subdb_version = ] subdb_version
Аргументы
[ @publisher = ] 'publisher'
Имя издателя. publisher — sysname, без значения по умолчанию.
[ @publisher_db = ] 'publisher_db'
Имя опубликованной базы данных. publisher_db — sysname без значения по умолчанию.
[ @publication = ] 'publication'
Имя публикации. публикация — sysname, без значения по умолчанию.
[ @subscriber = ] 'подписчик'
Имя подписчика. подписчик — sysname, без значения по умолчанию.
[ @subscriber_db = ] 'subscriber_db'
Имя базы данных подписки. subscriber_db — sysname без значения по умолчанию.
[ @subscription_type = ] subscription_type
Тип подписки. subscription_type является int, без значения по умолчанию и может быть одним из этих значений.
значение | Описание |
---|---|
0 |
Принудительная подписка |
1 |
Подписка по запросу |
[ @subdb_version = ] subdb_version
База dbversion
данных подписки. subdb_version является необязательным параметром типа int с значением по умолчанию 0.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
pendingcmdcount |
int | Число команд для подписки, ожидающих завершения |
estimatedprocesstime |
int | Оценка количества секунд, необходимых для доставки всех ожидающих команд подписчику. |
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_replmonitorsubscriptionpendingcmds
используется с репликацией транзакций.
До SQL Server 2019 (15.x) CU17 sp_replmonitorsubscriptionpendingcmds
не поддерживается с одноранговой репликацией и возвращает неверное количество ожидающих команд при выполнении запроса топологии одноранговой репликации. В SQL Server 2019 (15.x) CU 17 добавлена поддержка для обеспечения sp_replmonitorsubscriptionpendingcmds
совместимости с одноранговых публикаций.
Однако даже при использовании SQL Server 2019 (15.x) CU17 или более поздней версии sp_replmonitorsubscriptionpendingcmds
может сообщать о неправильном количестве ожидающих команд при использовании с одноранговой репликацией, если таблица MSrepl_originators
содержит устаревшую запись неправильной версии базы данных подписки. Чтобы устранить проблему, удалите все устаревшие записи из MSrepl_originators
базы данных подписки или передайте правильность dbversion
базы данных подписки при использовании subdb_version
аргумента хранимой sp_replmonitorsubscriptionpendingcmds
процедуры.
Дополнительные сведения об определении dbversion
см. в KB5017009.
Разрешения
Могут выполняться sp_replmonitorsubscriptionpendingcmds
только члены предопределенных ролей сервера sysadmin на распространителю или членах предопределенных ролей базы данных db_owner в базе данных распространителя. Члены списка доступа к публикации для публикации, которая использует базу данных распространителя, может выполняться sp_replmonitorsubscriptionpendingcmds
для возврата ожидающих команд для этой публикации.