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


sp_getqueuedrows (Transact-SQL)

Область применения: SQL Server

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

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

Синтаксис

sp_getqueuedrows
    [ @tablename = ] N'tablename'
    [ , [ @owner = ] N'owner' ]
    [ , [ @tranid = ] N'tranid' ]
[ ; ]

Аргументы

[ @tablename = ] N'tablename'

Название таблицы. @tablename — sysname без значения по умолчанию. Таблица должна быть частью очереди подписок.

[ @owner = ] N'owner'

Владелец подписки. @owner — sysname с значением по умолчаниюNULL.

[ @tranid = ] N'tranid'

Позволяет осуществлять фильтрацию вывода по идентификатору транзакции. @tranid — nvarchar(70) с значением по умолчаниюNULL. Если указан, будет отображен идентификатор транзакции, связанный с командой в очереди. Если NULLотображаются все команды в очереди.

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

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

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

Показывает все строки, которые в настоящее время имеют по крайней мере одну транзакцию в очереди для подписанной таблицы.

Имя столбца Тип данных Description
action nvarchar(10) Тип операции для выполнения при синхронизации.

INS = вставка
DEL = delete
UPD = обновление
tranid nvarchar(70) Идентификатор транзакции, под которым выполнялась команда.
table column1 ...n Значение для каждого столбца таблицы, указанной в @tablename.
msrepl_tran_version uniqueidentifier Этот столбец используется для отслеживания изменений в реплицированных данных и для обнаружения конфликтов на издателе. Этот столбец добавлен к таблице автоматически.

Замечания

sp_getqueuedrows используется в подписчиках, участвующих в обновлении в очереди.

sp_getqueuedrows находит строки заданной таблицы в базе данных подписки, которая участвовала в обновлении в очереди, но в настоящее время не разрешается агентом чтения очередей.

Разрешения

sp_getqueuedrows требует SELECT разрешений на таблицу, указанную в @tablename.