Udostępnij za pośrednictwem


Jak Zmierzyć czas oczekiwania i sprawdzania poprawności połączeń dla replikacji transakcyjnej (Programowanie replikacji Transact-SQL)

Dla replikacja transakcyjna, jest ważne można było sprawdzić, czy serwery są podłączone i zmierzyć opóźnienie.Czas oczekiwania to czas, jaki upływa zmiany dokonane Wydawca są propagowane do subskrybentów.Aby uzyskać więcej informacji, zobacz Monitorowanie (replikacji).Informacje te można uzyskać programowo za pomocą procedur przechowywanych replikacja.

Ostrzeżenie

Śledzenia informacji o tokenie jest zachowywana dla tego samego czas okresu jako innych danych historycznych, regulowanej przez okres przechowywania historia baza danych dystrybucji.Aby zmienić okres zachowywania, zmień wartość history_retention za pomocą właściwość sp_changedistributiondb (języka Transact-SQL).

Aby zaksięgować token śledzący transakcyjnych publikacja

  1. (Opcjonalnie) Wydawca na baza danych publikacja, wykonanie sp_helppublication (języka Transact-SQL).Sprawdź, czy publikacja istnieje, i stan aktywny.

  2. (Opcjonalnie) Wydawca na baza danych publikacja, wykonanie sp_helpsubscription (języka Transact-SQL).Sprawdź, czy subskrypcja istnieje, i stan aktywny.

  3. Wydawca na baza danych publikacja, wykonanie sp_posttracertoken (języka Transact-SQL), określając publikacja @.Zanotuj wartość @ tracer_token_id parametr wyjścia.

Aby określić opóźnienie i sprawdzania poprawności połączeń dla transakcyjnych publikacja

  1. Księgowanie token śledzący do publikacja przy użyciu poprzedniej procedury.

  2. Wydawca na baza danych publikacja, wykonanie sp_helptracertokens (języka Transact-SQL), określając publikacja @.Zwraca listę wszystkich tokenów oledzenia zaksięgowane do publikacja.Uwaga żądane tracer_id w zestaw wyników.

  3. Wydawca na baza danych publikacja, wykonanie sp_helptracertokenhistory (języka Transact-SQL), określając publikacja @ i identyfikator token śledzący w kroku 2 dla @ tracer_id.Zwraca informacje opóźnienie dla token śledzący wybranych.

Aby usunąć tokeny śledzenia

  1. Wydawca na baza danych publikacja, wykonanie sp_helptracertokens (języka Transact-SQL), określając publikacja @.Zwraca listę wszystkich tokenów oledzenia zaksięgowane do publikacja.Uwaga tracer_id dla token śledzący do usunięcia w zestawie wyników.

  2. Wydawca na baza danych publikacja, wykonanie sp_deletetracertokenhistory (języka Transact-SQL), określając publikacja @ i identyfikator śledzenia, aby usunąć z kroku 2 dla @ tracer_id.

Przykład

W tym przykładzie księguje oledzenia token rekordu i zastosowań zwrócony identyfikator token śledzący zaksięgowane do wyświetlania informacji o opóźnienie.

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

USE [AdventureWorks2008R2]

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