sp_posttracertoken (Transact-SQL)

Si applica a:SQL Server

Questa procedura consente di inserire un token di traccia nel log delle transazioni nel server di pubblicazione e di avviare il processo di traccia delle statistiche di latenza. Le informazioni vengono registrate quando il token di traccia viene scritto nel log delle transazioni, quando viene prelevato dall'agente di lettura log e quando viene applicato dall'agente di distribuzione. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione. Per altre informazioni, vedere Misurazione della latenza e convalida delle connessioni per la replica transazionale.

Convenzioni di sintassi Transact-SQL

Sintassi

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

Argomenti

[ @publication = ] 'publication' Nome della pubblicazione per cui viene misurata la latenza. publication è sysname, senza impostazione predefinita.

[ @tracer_token_id = ] _tracer_token_id OUTPUT ID del token di traccia inserito. tracer_token_id è int con un valore predefinito NULL ed è un parametro OUTPUT. Questo valore può essere usato per eseguire sp_helptracertokenhistory (Transact-SQL) o sp_deletetracertokenhistory (Transact-SQL) senza prima eseguire sp_helptracertokens (Transact-SQL).

[ @publisher = ] 'publisher' Specifica un server di pubblicazione non Microsoft SQL Server. publisher è sysname, con un valore predefinito NULL e non deve essere specificato per un server di pubblicazione di SQL Server.

Valori del codice restituito

0 (esito positivo) o 1 (errore)

Osservazioni:

sp_posttracertoken viene usato nella replica transazionale.

Esempio

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

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o il ruolo predefinito del database db_owner possono essere eseguiti sp_posttracertoken.

Vedi anche

Misurare la latenza e convalidare le connessioni per la replica transazionale