Aracılığıyla paylaş


Çoğaltma aracısı olayları için uyarıları kullanma

SQL Server Management Studio and Microsoft SQL Server Agent provide a way to monitor events, such as replication agent events, using alerts.SQL Server Aracı Windows Uygulama günlüğüne Uyarı ile ilgili olayları izler.If such an event occurs, SQL Server Agent responds automatically, by executing a task that you have defined and/or sending e-mail or a pager message to a specified operator.SQL Server includes a set of predefined alerts for replication agents that you can configure to execute a task and/or notify an operator.Yürütülecek bir görev tanımlama hakkında daha fazla bilgi için bu konudaki "Otomatik bir yanıt için bir uyarı" bölümüne bakın.

Bir dağıtımcı yapılandırılmış bir bilgisayar aşağıdaki uyarıları yüklenir:

Ileti KIMLIĞI

Önceden tanımlanmış bir uyarı

uyarı ateşlenmesine neden olan koşulu

Ek bilgi msdb girer.sysreplicationalerts

14150

çoğaltma: aracının başarılı

Aracı'nı kapatır kapalı başarıyla.

Evet

14151

çoğaltma: Aracı hatası

Aracı'nı kapatır kapalı hatalı.

Evet

14152

çoğaltma: Aracı yeniden deneme

Başarısız (Aracısı karşılaştığı hata sunucu kullanılamıyor, çıkmaz, bağlantı hatası veya saat aşımı hatası gibi) bir işlemi yeniden denemeden sonra Aracısı kapanır.

Evet

14157

çoğaltma: zaman aşımına uğramış bir abonelik bıraktı

Zaman aşımına uğramış bir abonelik kesildi.

Hayır

20572

çoğaltma: abonelik yeniden doğrulama hatası sonra

Yanıt iş 'Reinitialize abonelikler' veri doğrulama hatası durumunda, bir abonelik başarıyla reinitializes.

Hayır

20574

çoğaltma: Abone verileri doğrulama başarısız oldu

Dağıtım veya Birleştirme Aracısı, veri doğrulama başarısız olur.

Evet

20575

çoğaltma: Abone verileri doğrulama geçti

Dağıtım veya Birleştirme Aracısı, veri doğrulama geçirir.

Evet

20578

çoğaltma: Aracı özel kapatma

 

 

22815

Eşler arası çakışma algılama uyarı

Dağıtım Aracısı, eşler arası bir düğümdeki bir değişikliği çalıştığında bir çakışma olduğunu algıladı.

Evet

Bu uyarıların yanı sıra, uyarıları ve uyarı durumunu ve performansı ile ilgili bir dizi çoğaltma izleyicisi'ni sağlar.Daha fazla bilgi için bkz: Çoğaltma izleyicisi'nde, eşikleri ve uyarılarını ayarlama. Ayrıca, uyarı kullanarak diğer çoğaltma olayı tanımlayabilirsiniz SQL Server Uyarı alt yapısı. Daha fazla bilgi için bkz: Kullanıcı tanımlı bir olay oluşturma.

Önceden tanımlanmış çoğaltma uyarıları yapılandırmak için

Uygulama günlüğüne doğrudan görüntüleme

Windows Uygulama günlüğünü görüntülemek için , Microsoft Windows Olay Görüntüleyicisi. Uygulama günlüğünü içerir SQL Server hata iletileri yaný sýra bilgisayardaki diğer birçok faaliyetler için iletileri. Farklı SQL Server hata günlüğü'nde, yeni bir uygulama günlüğüne her başlattığınızda oluşturulmadı SQL Server (her SQL Server oturum yeni olaylar için varolan bir uygulama günlüğü yazar); ancak, günlüğe kaydedilen olaylar korunur ne kadar saat belirtebilirsiniz. Windows Uygulama günlüğünü görüntülediğinizde, belirli olayları günlüğü süzebilirsiniz.Daha fazla bilgi için Windows belgelerine bakın.

Bir uyarı için bir yanıt otomatikleştirme

Çoğaltma, veri doğrulama başarısız olan tüm abonelikler için bir yanıt iş sağlar ve ayrıca Uyarıları ek otomatik yanıtları oluşturmak için bir çerçeve sağlar.Iş yanıtı başlıklı Veri doğrulama hatası durumunda abonelikleri yeniden başlatmak ve depolanır SQL Server Aracı Işleri klasöründeSQL Server Management Studio. Bu yanıtı etkinleştirme hakkında bilgi için iş, bkz: Nasıl Yapılır: Önceden tanımlanmış çoğaltma Uyarıları (SQL Server Management Studio'yu) yapılandırın.. iş bir yayın makalelerinde, doğrulama başarısız olursa, yanıt işi başarısız olan makaleleri reinitializes.Bir birleştirme yayın makalelerinde, doğrulama başarısız olursa, yanıt iş yayındaki tüm makaleleri reinitializes.

Çerçeve yanıtları otomatikleştirme

Uyarı oluştuğunda, bu genellikle tek bilgi, uyarı ve almak için uygun eylem ne neden anlamanıza yardımcı olmak gerekir uyarı iletinin kendisine bulunur.Bu bilgileri ayrıştırılırken hata açık ve uzun olabilir.Çoğaltma automating yanıtları uyarı hakkında ek bilgi sağlayarak kolaylaştırır sysreplicationalerts sistem tablo; kolayca özelleştirilmiş programlar tarafından kullanılan bir formda sağlanan bilgileri zaten ayrıştırılır.

Örneğin, verileri Sales.SalesOrderHeader tablo abone A doğrulama başarısız olur.SQL Server Bu başarısızlık bildiren ileti 20574, tetikleyebilir. Aldığınız ileti olacaktır: "Abone 'A', 'SalesOrderHeader' makale yayın 'MyPublication' aboneliği veri doğrulanamadı."

Iletide bir yanıt oluşturursanız, abone adını, makale adını, yayın adı ve iletinin hatasından el ile ayrıştırma gerekir.Bununla birlikte, dağıtım aracısını ve Birleştirme Aracısı, aynı bilgilere yazmak için sysreplicationalerts (Ayrıntılar aracısının türü, uyarı, yayın veritabanı, abone veritabanı saat ve yayın türü gibi) ile birlikte yanıt iş ilgili bilgileri doğrudan sorgulayabilirler tablo.Tam satır belirli uyarı örnek ile ilişkili olamaz, ancak tablo olan bir Durum sütun servis verilen girişleri izlemek için kullanılabilir.Bu tablodaki girişleri geçmişini saklama dönemi için korunur.

Örneğin, bir yanıt işi oluşturmak için Transact-SQL Bu hizmetler uyarı iletisi 20574 aşağıdaki mantık kullanabilirsiniz:

declare @publisher sysname, @publisher_db sysname, @publication sysname, @publication_type int, @article sysname, @subscriber sysname, @subscriber_db sysname, @alert_id int
declare hc cursor local for select publisher, publisher_db, publication, publication_type, article, subscriber, 
  subscriber_db, alert_id from 
  msdb..sysreplicationalerts where
  alert_error_code = 20574 and status = 0
  for read only
open hc
fetch hc into  @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
while (@@fetch_status <> -1)
begin
/* Do custom work  */
/* Update status to 1, which means the alert has been serviced. This prevents subsequent runs of this job from doing this again */
update msdb..sysreplicationalerts set status = 1 where alert_id = @alert_id
 fetch hc into  @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
end
close hc
deallocate hc