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


sp_helptracertokenhistory (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_helptracertokenhistory [ @publication = ] 'publication' 
        , [ @tracer_id = ] tracer_id
    [ , [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]

Аргументы

  • [ @publication= ] 'publication'
    Имя публикации, в которую были вставлены трассировочные маркеры. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.

  • [ @tracer_id= ] tracer_id
    Идентификатор трассировочного маркера в таблице MStracer_tokens (Transact-SQL), для которого возвращаются сведения из журнала. Аргумент tracer_id имеет тип int и не имеет значения по умолчанию.

  • [ @publisher= ] 'publisher'
    Имя издателя. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Этот аргумент должен быть определен только для издателей, отличных от MicrosoftSQL Server.

  • [ @publisher_db= ] 'publisher_db'
    Имя базы данных публикации. Аргумент publisher_db имеет тип sysname и по умолчанию принимает значение NULL. Этот параметр не учитывается, если хранимая процедура выполняется на издателе.

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

Имя столбца

Тип данных

Описание

distributor_latency

bigint

Количество секунд между фиксированием записи трассировочного маркера у издателя и фиксированием записи у распространителя.

subscriber

sysname

Имя подписчика, получившего трассировочный маркер.

subscriber_db

sysname

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

subscriber_latency

bigint

Количество секунд между фиксированием записи трассировочного маркера у распространителя и фиксированием записи у подписчика.

overall_latency

bigint

Количество секунд между фиксированием записи трассировочного маркера у издателя и фиксированием записи трассировочного маркера у подписчика.

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Процедура sp_helptracertokenhistory используется при репликации транзакций.

Процедура sp_helptracertokens (Transact-SQL) выполняется для получения списка трассировочных маркеров для публикации.

Значение NULL в результирующем наборе означает, что статистика задержек не может быть определена. Причина этого в том, что трассировочный маркер не был получен распространителем или одним из подписчиков.

Пример

DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran'; 

USE [AdventureWorks]

-- Insert a new tracer token in the publication database.
EXEC sys.sp_posttracertoken 
  @publication = @publication,
  @tracer_token_id = @tokenID OUTPUT;
SELECT 'The ID of the new tracer token is ''' + 
    CONVERT(varchar,@tokenID) + '''.'
GO

-- Wait 10 seconds for the token to make it to the Subscriber.
WAITFOR DELAY '00:00:10';
GO

-- Get latency information for the last inserted token.
DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran'; 

CREATE TABLE #tokens (tracer_id int, publisher_commit datetime)

-- Return tracer token information to a temp table.
INSERT #tokens (tracer_id, publisher_commit)
EXEC sys.sp_helptracertokens @publication = @publication;
SET @tokenID = (SELECT TOP 1 tracer_id FROM #tokens
ORDER BY publisher_commit DESC)
DROP TABLE #tokens

-- Get history for the tracer token.
EXEC sys.sp_helptracertokenhistory 
  @publication = @publication, 
  @tracer_id = @tokenID;
GO

Разрешения

Только члены предопределенной роли сервера sysadmin предопределенной роли базы данных db_owner в базе данных публикации либо фиксированных ролей db_owner или replmonitor в базе данных распространителя могут выполнять процедуру sp_helptracertokenhistory.