sys.sp_posttracertoken (Transact-SQL)

Van toepassing op:SQL Server

Deze procedure plaatst een tracer-token in het transactielogboek bij de Publisher en start het proces van het bijhouden van latentiestatistieken.

Informatie wordt vastgelegd:

  • wanneer het tracer-token naar het transactielogboek wordt geschreven;
  • wanneer de Log Reader Agent het oppakt; en
  • wanneer de Distribution Agent het toepast.

Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase. Voor meer informatie, zie Meting van latentie en validatie van verbindingen voor transactionele replicatie.

Transact-SQL syntaxis-conventies

Syntax

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

Arguments

[ @publication = ] N'publicatie'

De naam van de publicatie waarvoor de latency wordt gemeten. @publication is sysname, zonder standaard.

[ @tracer_token_id = ] tracer_token_id OUTPUT

De ID van het tracer-token ingevoegd. @tracer_token_id is een OUTPUT parameter van type int. Deze waarde kan worden gebruikt om sp_helptracertokenhistory of sp_deletetracertokenhistory uit te voeren zonder eerst sp_helptracertokens uit te voeren.

[ @publisher = ] N'uitgever'

Specificeert een niet-SQL Server Publisher. @publisher is sysname, met als standaard NULL. Deze parameter zou niet gespecificeerd moeten worden voor een SQL Server Publisher.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

sp_posttracertoken wordt gebruikt bij transactionele replicatie.

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

Alleen leden van de sysadmin-vaste serverrol of de db_owner vaste databaserol kunnen uitvoeren sp_posttracertoken.