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.
[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
Sol bölmede bir yayımcı grubu genişletin, bir Publisher genişletin ve sonra bir yayın'ı tıklatın.
Tıklayın İzleyici belirteçleri sekmesi.
Tıklayın Izleyici Ekle.
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
Sol bölmede bir yayımcı grubu genişletin, bir Publisher genişletin ve sonra bir yayın'ı tıklatın.
Tıklayın İzleyici belirteçleri sekmesi.
Bir süre seçin zaman eklenen açılan liste.
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.
[Top]
Transact-SQL'i Kullanma
Bir işlem yayına izleyici belirteci deftere nakletmek için
(İ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.
(İ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.
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
Önceki yordamı kullanarak yayına izleyici belirteci deftere nakledin.
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.
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
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.
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
[Top]
Çoğaltma Yönetimi Nesneleri'ni (rmo) kullanarak
Bir işlem yayına izleyici belirteci deftere nakletmek için
Kullanarak bir yayımcının bağlantısı oluşturmak ServerConnectionsınıf
Örneğini TransPublicationsınıf
Set Nameve DatabaseNameyayın ve kümesi özelliklerini ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.
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.
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
Dağıtımcı bir bağlantı kullanarak oluşturmak ServerConnectionsınıf
Örneğini PublicationMonitorsınıf
Set Name, DistributionDBName, PublisherName, ve PublicationDBNameözellikleri ve set ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.
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.
Arama EnumTracerTokensyöntemi. İade döküm ArrayListnesne için bir dizi TracerTokennesnelerin.
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
Dağıtımcı bir bağlantı kullanarak oluşturmak ServerConnectionsınıf
Örneğini PublicationMonitorsınıf
Set Name, DistributionDBName, PublisherName, ve PublicationDBNameözellikleri ve set ConnectionContextözelliği 1. adımda oluşturduğunuz bağlantı.
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.
Arama EnumTracerTokensyöntemi. İade döküm ArrayListnesne için bir dizi TracerTokennesnelerin.
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.
[Top]