Partager via


sp_posttracertoken (Transact-SQL)

S'applique à : SQL Server

Cette procédure publie un jeton de suivi dans le journal des transactions sur le serveur de publication et commence le processus de suivi des statistiques de latence.

Les informations sont enregistrées :

  • lorsque le jeton de suivi est écrit dans le journal des transactions ;
  • lorsque l’Agent de lecture du journal le récupère ; et
  • lorsque le Agent de distribution l’applique.

Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication. Pour plus d’informations, voir Mesurer la latence et valider les connexions pour la réplication transactionnelle.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_posttracertoken
    [ @publication = ] N'publication'
    [ , [ @tracer_token_id = ] tracer_token_id OUTPUT ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Arguments

[ @publication = ] N’publication'

Nom de la publication pour laquelle la latence est mesurée. @publication est sysname, sans valeur par défaut.

[ @tracer_token_id = ] sortie de tracer_token_id

ID du jeton de suivi inséré. @tracer_token_id est un paramètre OUTPUT de type int. Cette valeur peut être utilisée pour exécuter sp_helptracertokenhistory ou sp_deletetracertokenhistory sans exécuter d’abord sp_helptracertokens.

[ @publisher = ] N’publisher'

Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL. Ce paramètre ne doit pas être spécifié pour un serveur de publication SQL Server.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Notes

sp_posttracertoken est utilisé dans la réplication transactionnelle.

Exemples

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

USE [AdventureWorks2022]

-- 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

autorisations

Seuls les membres du rôle serveur fixe sysadmin ou le rôle de base de données fixe db_owner peuvent s’exécuter sp_posttracertoken.