sp_add_alert (Transact-SQL)
Bir uyarıoluşturur.
Sözdizimi
sp_add_alert [ @name = ] 'name'
[ , [ @message_id = ] message_id ]
[ , [ @severity = ] severity ]
[ , [ @enabled = ] enabled ]
[ , [ @delay_between_responses = ] delay_between_responses ]
[ , [ @notification_message = ] 'notification_message' ]
[ , [ @include_event_description_in = ] include_event_description_in ]
[ , [ @database_name = ] 'database' ]
[ , [ @event_description_keyword = ] 'event_description_keyword_pattern' ]
[ , { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ]
[ , [ @raise_snmp_trap = ] raise_snmp_trap ]
[ , [ @performance_condition = ] 'performance_condition' ]
[ , [ @category_name = ] 'category' ]
[ , [ @wmi_namespace = ] 'wmi_namespace' ]
[ , [ @wmi_query = ] 'wmi_query' ]
Bağımsız değişkenler
[ @name =] 'name'
uyarıadı.uyarıyanıt gönderilen e-posta ya da çağrı iletisi adı görüntülenir.Benzersiz olmalıdır ve yüzde içerebilir (%) karakteri.nameİş sysname, ile hiçbir varsayılan.[ @ message_id = ]message_id
uyarıtanımlayan ileti hata numarası.(Genellikle bir hata numarası için karşılık sysmessages tablo.) message_id is int, with a default of 0.severity uyarıtanımlamak için kullanılan message_id olması 0 veya null.Not
Yalnızca sysmessages Microsoft Windows Uygulama günlüğüne hata gönderilecek uyarı neden olabilir.
[ @ önem =] severity
Önem düzey (dan 1 ile 25), uyarıtanımlar.Tüm SQL Server depolanmış ileti sysmessages gönderilentablo Microsoft gösterilen önem derecesi, Windows Uygulama günlüğüne gönderilecek uyarı neden oluyor. severityİş int, varsayılan değer 0.message_id uyarıtanımlamak için kullanılan severity olması 0.[ @ Etkin =] enabled
uyarıgeçerli durumunu gösterir.enabledİş tinyint, varsayılan değer 1 (etkin).0, uyarı etkin değildir ve yangın değil.[ @ delay_between_responses =] delay_between_responses
uyarıyanıtları arasındaki, saniye cinsinden bekleme süresi.delay_between_responsesİş int, varsayılan değer 0, yanıtları (geçtiği uyarı yanıt oluşturur) arasında hiçbir bekleme yok anlamına gelir.Yanıt biri veya ikisi birden bu formlar olabilir:E-posta veya çağrı cihazı gönderilen bir veya daha fazla bildirim.
Bir iş yürütmek.
Bu değer ayarlayarak, örneğin, uyarı tekrar tekrar saatoluştuğunda gönderilen istenmeyen e-posta iletilerinin önlemek mümkündür.
[ @ notification_message =] 'notification_message'
İsteğe bağlı bir ek iletisi için işleç e-posta, bir parçası olarak gönderilen net send, veya çağrı cihazı bildirim.notification_messageİş nvarchar(512), varsayılan değer null.Belirtme notification_message yarar gibi özel notlar eklemek içinremedial yordamları.[ @ include_event_description_in =] include_event_description_in
Olduğu olup olmadığını açıklaması SQL Server hata olması gereken dahil parçası olarak bildirim iletisi.include_event_description_in* *İş tinyint, varsayılan değer 5 (e-posta ve net send) ve bir veya daha fazla bu değerleri birlikte bir or mantıksal işleç.Önemli Çağrı cihazı ve net send seçenekleri kaldırıldı dan SQL Server Aracısı, gelecekteki bir sürüm Microsoft SQL Server.Yeni geliştirme çalışması bu özellikleri kullanmaktan kaçının ve şu anda bu özellikleri kullanan uygulamaları değiştirmek plan.
Değer
Açıklama
0 (varsayılan)
Hiçbiri
1
E-posta
2
Çağrı cihazı
4
net send
[ @ veritabanı_adı =] 'database'
Veritabanı hata yangın uyarı için gerçekleşmesi gerekir.databaseSağlanmayan, uyarı harekete hatanın oluştuğu olsun.databaseis sysname.Ayraç ([]) içine adları izin verilmez.Varsayılan değer null olur.[ @ event_description_keyword =] 'event_description_keyword_pattern'
Dizi karakterleri açıklaması SQL Server hata olması gibi.Transact-SQLifade desen eşleştirme karakterleri kullanılabilir gibi.event_description_keyword_patternİş nvarchar(100), varsayılan değer null.Bu parametre, nesne adları süzmek için yararlıdır (örneğin, % customer_table %).[ @ job_id =] job_id
Bu uyarıyanıt çalışmasını iş iş tanımlama numarası.job_idİş uniqueidentifier, varsayılan değer null.[ @ job_name =] 'job_name'
Bu uyarıyanıt yürütülecek iş adı.job_nameİş sysname, varsayılan değer null.Not
Ya da job_id veya job_name belirtilmesi gerekir, ancak her ikisi de belirtilemez.
[ @ raise_snmp_trap =] raise_snmp_trap
Uygulanan değil SQL Server sürüm 7.0.raise_snmp_trapİş tinyint, varsayılan değer 0.[ @ performance_condition =] 'performance_condition'
Biçiminde ifade edilen değer 'itemcomparatorvalue'.performance_conditionolan nvarchar(512) , null varsayılan değer ve oluşan bu öğeleri.Biçim öğesi
Açıklama
Item
Performans nesnesi, performans sayaç veya sayaç adlandırılmış örnek
Comparator
Bu işleçlerden birini: >, <, or =
Value
Sayaç sayısal değer
[ @ category_name =] 'category'
uyarı kategori adı.categoryİş sysname, varsayılan değer null.[ @ wmi_namespace=] 'wmi_namespace'
WMI ad alanı sorgulamak için olayları.wmi_namespaceİş sysname, varsayılan değer null.Yalnızca yerel sunucuda ad desteklenir.[ @ wmi_query=] 'wmi_query'
WMIolay uyarıbelirten sorgu. wmi_queryİş nvarchar(512), varsayılan değer null.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (başarısız)
Sonuç Kümeleri
Hiçbiri
Açıklamalar
sp_add_alert dan çalıştırılması gereken msdb veritabanı.
Tarafından oluşturulan hatalar/iletileri koşullarda bunlar SQL Server ve SQL Server uygulamalar Windows Uygulama günlüğüne gönderilir ve bu nedenle uyarıları yükseltebilirsiniz:
19 Veya daha yüksek önem sys.messages hataları
BİRLİKTE günlük sözdizimi ile çağrılan herhangi RAISERROR deyim
Tüm sys.messages hata kullanılarak oluşturulan veya değiştirilme sp_altermessage
Kullanarak oturum açmış herhangi bir olay xp_logevent
SQL Server Management Studiouyarı alt yapısını yapılandırmak için önerilen yoldur ve tüm alerting sistemini yönetmek için kolay ve grafiksel bir yol sağlar.
uyarı düzgün çalışmıyorsa, denetimi olup olmadığını:
SQL Server , Aracısı hizmet çalışıyor.
Windows Uygulama günlüğüne olay göründü.
uyarı etkindir.
İle oluşturulan olayları xp_logevent asıl veritabanıoluşur.Bu nedenle, xp_logevent bir uyarı sürece tetiklemez @ veritabanı_adı uyarı için 'ana' veya null.
İzinler
Varsayılan olarak, yalnızca üyeleri sysadmin sabit sunucu rolü için yürütmek sp_add_alert.
Örnekler
Aşağıdaki örnek, çalışan bir uyarı (Test uyarı) ekler Back up the AdventureWorks2008R2 Databaseharekete zamaniş .
Not
Bu örnek varsayar 55001 ileti ve Back up the AdventureWorks2008R2 Database iş zaten mevcut.Amaçlarla yalnızca örnek gösterilmiştir.
USE msdb ;
GO
EXEC dbo.sp_add_alert
@name = N'Test Alert',
@message_id = 55001,
@severity = 0,
@notification_message = N'Error 55001 has occurred. The database will be backed up...',
@job_name = N'Back up the AdventureWorks2008R2 Database' ;
GO