Aracılığıyla paylaş


Gecikme ölçmek ve işlem çoğaltma bağlantıları doğrula

Bu konuda gecikme ölçmek ve işlem çoğaltma bağlantılarını doğrulamak açıklar SQL Server 2012Çoğaltma İzleyicisi kullanarak Transact-SQL, ya da Çoğaltma Yönetimi Nesneleri'ni (rmo). Işlem çoğaltma sağlar izleyici belirteci özelliği, işlem çoğaltma topolojileri gecikme ölçmek ve yayıncı, dağıtımcı ve abone arasındaki bağlantıları doğrulamak için uygun bir yol sağlar. Belirteç (çok küçük miktarda veri) sanki vardı tipik bir işlem çoğaltılmış ve sistem üzerinden gönderilen işaretlenmiş yayın veritabanı işlem günlüğünün yazılır bir hesaplama sağlar:

  • Publisher ve dağıtımcı dağıtım veritabanı eklenen ilgili komutu kaydedilmiş bir hareket arasında ne kadar süre sona erdiğinde.

  • Dağıtım veritabanı ve Abone tarafında kaydedilmiş ilgili hareket eklenen komut arasında ne kadar süre sona erdiğinde.

Bu hesaplamalar, sorular da dahil olmak üzere, bir dizi yanıtlayabilir:

  • Hangi aboneler uzun bir değişiklik yayımcı almak sürer?

  • İzleyici belirteci almak için beklenen aboneleri, olan, varsa o gelmedi?

Bu Konuda

  • Başlamadan Önce

    Sınırlamalar ve Kısıtlamalar

  • Gecikme ölçmek ve kullanarak bağlantı doğrulamak için:

    SQL Server çoğaltma izleyicisi

    Transact-SQL

    Çoğaltma Yönetimi Nesneleri'ni

Başlamadan Önce

Sınırlamalar ve Kısıtlamalar

Izleyici belirteçleri de yararlı olabilir zaman sessiz bir sistemi, tüm faaliyet durdurma ve tüm bekleyen değişiklikleri tüm düğümlere almış doğrulanıyor. Daha fazla bilgi için, bkz. Quiesce çoğaltma topolojisini (çoğaltma Transact-sql programlama).

Izleyici belirteçleri kullanmak için belirli sürümlerini kullanan Microsoft   SQL Server:

  • Dağıtımcı olmalıdır Microsoft  SQL Server 2005veya üstü.

  • Yayımcı olmalıdır SQL Server 2005veya sonraki bir sürümü veya Oracle Publisher.

  • Abone ise itme abonelikleri için izleyici belirteci istatistikleri yayıncı, dağıtımcı ve abone toplanan Microsoft  SQL Server7.0 veya üstü.

  • Yalnızca abone ise çekme abonelikleri için abonelerinden izleyici belirteci istatistikleri toplanan SQL Server 2005veya üstü. Abone ise SQL Server7.0 veya Microsoft   SQL Server 2000, İstatistikler yalnızca Publisher ve dağıtımcı toplandı.

Ayrıca diğer sorunlar ve dikkat edilmesi gereken kısıtlamalar vardır:

  • Abonelikleri izleyici belirteci almak için etkin olması gerekir. Eğer o başlatılmış bir abonelik etkindir.

  • Reinitialization ilgili abonelikler için herhangi bir bekleyen izleyici belirteçleri kaldırır.

  • Aboneler sadece kendi başlangıç eşitlemesi sonra oluşturulan izleyici belirteçleri alırsınız.

  • Izleyici belirteçleri aboneleri yeniden yayınlama tarafından iletilmez.

  • Çoğaltma İzleyicisi bir ikincil için yerine çalışma yapamaz-e yayıncılık örneği adını ayarlamak SQL Serverve çoğaltma bilgileri özgün birincil örneğinin adı altında görüntülenmeye devam eder SQL Server. Yük devretme sonrasında, izleyici belirteci girilemez çoğaltma izleyicisi'ni kullanarak, ancak izleyici belirteci girilen yeni yayımcı üzerinde kullanarak Transact-SQL, çoğaltma izleyicisi'nde görüntülenen.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

SQL Server çoğaltma izleyicisi'ni kullanma

Çoğaltma İzleyicisi başlatma hakkında daha fazla bilgi için bkz: Çoğaltma İzleyicisi'ni Başlat.

Izleyici belirteç ekleme ve bilgi görüntüleme belirteci üzerinde

  1. Sol bölmede bir yayımcı grubu genişletin, bir Publisher genişletin ve sonra bir yayın'ı tıklatın.

  2. Tıklayın İzleyici belirteçleri sekmesi.

  3. Tıklayın Izleyici Ekle.

  4. Geçen süre izleyici belirteci aşağıdaki sütunları görüntüleyin: Publisher dağıtımcı, dağıtımcı için abone, Toplam gecikme. Değeri Bekleyen belirteci belirli bir noktaya ulaşmadı gösterir.

Önceden eklenmiş bir izleyici belirteci üzerinde bilgileri görüntülemek için

  1. Sol bölmede bir yayımcı grubu genişletin, bir Publisher genişletin ve sonra bir yayın'ı tıklatın.

  2. Tıklayın İzleyici belirteçleri sekmesi.

  3. Bir süre seçin zaman eklenen açılan liste.

  4. Geçen süre izleyici belirteci aşağıdaki sütunları görüntüleyin: Publisher dağıtımcı, dağıtımcı için abone, Toplam gecikme. Değeri Bekleyen belirteci belirli bir noktaya ulaşmadı gösterir.

    [!NOT]

    Izleyici belirteç bilgileri, dağıtım veritabanı geçmişini saklama dönemi tarafından yönetilen diğer historical data, aynı dönem için korunur. Dağıtım veritabanı özelliklerini değiştirme hakkında daha fazla bilgi için bkz: Görüntüleme ve dağıtıcı ve Publisher özelliklerini değiştirme.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Transact-SQL'i Kullanma

Bir işlem yayına izleyici belirteci deftere nakletmek için

  1. (İsteğe bağlı) Yayını veritabanı üzerinde Yayımcı tarafında idam yürütme eşdeğerdirsp_helppublication (Transact-sql). Yayını bulunduğunu ve durumu etkin olduğunu doğrulayın.

  2. (İsteğe bağlı) Yayını veritabanı üzerinde Yayımcı tarafında idam sp_helpsubscription (Transact-sql). Abonelik bulunduğunu ve durumu etkin olduğunu doğrulayın.

  3. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_posttracertoken (Transact-sql), belirtme @ yayın. Değerini not alın @ tracer_token_id parametresi çıktı.

Gecikme süresi belirlemek ve işlem yayın bağlantılarını doğrulamak için

  1. Önceki yordamı kullanarak yayına izleyici belirteci deftere nakledin.

  2. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_helptracertokens (Transact-sql), belirtme @ yayın. Bu yayın için yayınlanan tüm izleyici belirteçleri listesini döndürür. İstenen Not tracer_id sonucu ayarlayın.

  3. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_helptracertokenhistory (Transact-sql), belirtme @ yayın ve izleyici belirteç kimliği için adım 2'de belirtilen @ tracer_id. Bu gecikme bilgilerini seçili izleyici belirteci döndürür.

Izleyici belirteçleri kaldırmak için

  1. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_helptracertokens (Transact-sql), belirtme @ yayın. Bu yayın için yayınlanan tüm izleyici belirteçleri listesini döndürür. Not tracer_id sonucu silmek izleyici belirteci ayarlayın.

  2. Yayını veritabanı üzerinde Yayımcı tarafında idam sp_deletetracertokenhistory (Transact-sql), belirtme @ yayın ve adım 2'den silmek için izleyici Kımlığı @ tracer_id.

Örnek (Transact-sql)

Bu örnek bir izleyici belirteç kayıt ve gecikme bilgilerini görüntülemek için deftere nakledilen izleyici belirteci döndürülen kodu kullanımını deftere nakleder.

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

USE [AdventureWorks2012]

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

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]

Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak

Bir işlem yayına izleyici belirteci deftere nakletmek için

  1. Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf

  2. Örneğini TransPublicationsınıf

  3. Set Nameve DatabaseNameyayın ve kümesi özelliklerini ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.

  4. Arama LoadPropertiesnesne özelliklerini almak için yöntem. Bu yöntem ise false, adım 3 yayını özellikleri yanlış tanımlanan veya yayını yok.

  5. Arama PostTracerTokenyöntemi. Bu yöntem, yayının hareket günlüğü için izleyici belirteci ekler.

Gecikme süresi belirlemek ve işlem yayın bağlantılarını doğrulamak için

  1. Dağıtımcı bir bağlantı kullanarak oluşturmak ServerConnectionsınıf

  2. Örneğini PublicationMonitorsınıf

  3. Set Name, DistributionDBName, PublisherName, ve PublicationDBNameözellikleri ve set ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.

  4. Arama LoadPropertiesnesne özelliklerini almak için yöntem. Bu yöntem ise false, adım 3 Yayını monitörü özellikleri yanlış tanımlanan veya yayını yok.

  5. Arama EnumTracerTokensyöntemi. İade döküm ArrayListnesne için bir dizi TracerTokennesnelerin.

  6. Arama EnumTracerTokenHistoryyöntemi. Geçiş değeri TracerTokenID()bir izleyici belirteci adım 5. Bu gecikme bilgilerini seçilen izleyici belirteci döndürür bir DataSetnesnesini. Tüm izleyici belirteç bilgileri döndürülür, Publisher ve dağıtımcı arasında bağlantı ve dağıtımcı ve abone arasındaki bağlantı var ve çoğaltma topolojisini çalışmıyor.

Izleyici belirteçleri kaldırmak için

  1. Dağıtımcı bir bağlantı kullanarak oluşturmak ServerConnectionsınıf

  2. Örneğini PublicationMonitorsınıf

  3. Set Name, DistributionDBName, PublisherName, ve PublicationDBNameözellikleri ve set ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.

  4. Arama LoadPropertiesnesne özelliklerini almak için yöntem. Bu yöntem ise false, adım 3 Yayını monitörü özellikleri yanlış tanımlanan veya yayını yok.

  5. Arama EnumTracerTokensyöntemi. İade döküm ArrayListnesne için bir dizi TracerTokennesnelerin.

  6. Arama CleanUpTracerTokenHistoryyöntemi. Aşağıdaki değerlerden birini geçmek:

    • TracerTokenID()Bir izleyici belirteci adım 5. Bu bilgi için seçilen belirteç siler.

    • A DateTimenesnesini. Bu tüm belirteçleri belirtilen tarih ve Saat eski bilgileri siler.

Başa Dön bağlantısıyla kullanılan ok simgesi[Top]