sys.sp_posttracertoken (Transact-SQL)

Gäller för:SQL Server

Denna progé postar en spårningstoken i transaktionsloggen hos Publisher och påbörjar processen att spåra latensstatistik.

Information registreras:

  • när spårningstoken skrivs till transaktionsloggen;
  • när loggläsaragenten plockar upp den; och
  • när Distribution Agent tillämpar den.

Den här lagrade proceduren körs i Publisher i publikationsdatabasen. För mer information, se Mät latens och validera anslutningar för transaktionell replikering.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

[ @publication = ] N'publicering'

Namnet på publikationen för vilken latensen mäts. @publication är sysname, utan standard.

[ @tracer_token_id = ] tracer_token_id UTGÅNG

ID:t för spårningstoken insatt i det. @tracer_token_id är en OUTPUT parameter av typen int. Detta värde kan användas för att exekvera sp_helptracertokenhistory eller sp_deletetracertokenhistory utan att först köra sp_helptracertokens.

[ @publisher = ] N'publisher'

Specificerar en icke-SQL Server Publisher. @publisher är sysname, med standardvärdet NULL. Denna parameter bör inte specificeras för en SQL Server Publisher.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_posttracertoken används vid transaktionell replikation.

Examples

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

Permissions

Endast medlemmar av sysadmin-rollen med fast server eller db_owner fast databasroll kan köra sp_posttracertoken.