Share via


sp_add_alert (Transact-sql)

Bir uyarı oluşturur.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

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ı. Yanıt uyarı için gönderilen e-posta ya da çağrı iletisi adı görüntülenir. Bu benzersiz olmalıdır ve yüzde içerebilir (%) karakteri. nameise sysname, hiçbir varsayılan ile.

  • @ message_id = message_id
    Uyarı tanımlayan ileti hata numarası. (Genellikle bir hata numarasına karşılık gelen sysmessages tablo.) message_id is int, with a default of 0. Eğer severityUyarı tanımlamak için kullanılan message_idolması 0 veya null.

    [!NOT]

    Sadece sysmessages Microsoft Windows uygulama günlüğüne hata gönderilecek uyarı neden olabilir.

  • @severity = severity
    Önem düzeyi (dan 1 ile 25), uyarı tanımlar. Herhangi bir SQL Serverileti depolanan sysmessages gönderilen tablo Microsoftile belirtilen önem Windows uygulama günlüğüne neden gönderilecek uyarı. severityise int, 0 varsayılan. Eğer message_idUyarı tanımlamak için kullanılan severityolması 0.

  • @enabled = enabled
    Uyarı geçerli durumunu gösterir. enabledise tinyint, 1 (etkin) varsayılan. Eğer 0, uyarı etkin değildir ve yangın değil.

  • @ delay_between_responses = delay_between_responses
    Uyarı yanıt arasındaki saniye bekleme süresi. delay_between_responsesise int, varsayılan 0, yani bekliyor hiçbir yanıt (uyarı her oluşumu yanıt oluşturur) arasında. Yanıt-ebilmek var olmak ikisinden biri veya her ikisi de bu formları:

    • E-posta veya çağrı cihazı yoluyla gönderilen bir veya daha fazla bildirim.

    • Yürütülecek bir iş.

    Bu değer ayarlayarak, örneğin, kısa bir süre içinde sürekli uyarı oluştuğunda istenmeyen e-posta iletileri gönderilmesini engellemek mümkündür.

  • @ notification_message = 'notification_message'
    İşleç e-posta, bir parçası olarak gönderilen bir isteğe bağlı ek mesaj net send, ya da çağrı cihazı bildirim. notification_messageise nvarchar(512), null varsayılan. Belirtme notification_messagedüzeltici prosedürler gibi özel notlar eklemede kullanışlıdır.

  • @ include_event_description_in = include_event_description_in
    Olduğu olup olmadığını açıklaması SQL Serverhata bildirim iletisi bir parçası olarak dahil olmalı. include_event_description_in* *ise tinyint, varsayılan 5 (e-posta ve net send) ve olabilir veya bu değerleri ile birlikte bir or mantıksal işleci.

    Önemli notÖnemli

    Çağrı cihazı ve net sendseçenekleri kaldırılır SQL Serverajan gelecekteki bir sürümüne Microsoft SQL Server. Yeni geliştirme çalışmalarında bu özellikleri kullanmaktan kaçının ve şu anda bu özellikleri kullanan uygulamaları değiştirmek planlıyoruz.

    Değer

    Açıklama

    0 (varsayılan)

    Hiçbiri

    1

    E-posta

    2

    Çağrı cihazı

    4

    net send

  • @ veritabanı_adı = 'database'
    Veritabanı Hata Uyarı ateşlenmesine gerçekleştiği gerekir. Eğer database sağlanmayan, hatanın oluştuğu ne olursa olsun yangın uyarısı. databaseis sysname. Parantezler ([]) içine adları izin verilmez. Varsayılan değer NULL'tur.

  • @ event_description_keyword = 'event_description_keyword_pattern'
    Dizi karakterleri açıklaması SQL Serverhata gibi olmalı. Transact-SQLDesen eşleştirme karakterleri gibi ifade kullanılır. event_description_keyword_patternise nvarchar(100), null varsayılan. Bu parametre, nesne adları süzmek için yararlıdır (örneğin, % customer_table %).

  • @job_id = job_id
    Bu uyarı karşısında çalıştırılacak işi iş tanımlama numarası. job_idise uniqueidentifier, null varsayılan.

  • @job_name = 'job_name'
    Bu uyarı karşısında yürütülecek iş adı. job_name* *ise sysname, null varsayılan.

    [!NOT]

    Ya job_idya job_namebelirtilmesi gerekir, ancak her ikisi de belirtilemez.

  • @ raise_snmp_trap = raise_snmp_trap
    Not implemented in SQL Serversürüm 7.0. raise_snmp_trapise tinyint, 0 varsayılan.

  • @ performance_condition = 'performance_condition'
    Bir değer biçiminde ifade edilen 'itemcomparatorvalue'. performance_conditionise nvarchar(512)null varsayılan ve bu öğelerden oluşur.

    Biçim öğesi

    Açıklama

    Item

    Performans nesnesi, performans sayaç veya sayaç adlandırılmış bir örneğini

    Comparator

    Bu işleçlerden birini: >, <, ya =

    Value

    Sayaç sayısal değer

  • @ category_name = 'category'
    Uyarı kategori adı. categoryise sysname, null varsayılan.

  • @ wmi_namespace=] 'wmi_namespace'
    WMI ad alanı sorgulamak için olayları. wmi_namespaceise sysname, null varsayılan. Yalnızca yerel sunucuda ad alanları desteklenmez.

  • @wmi_query= ] 'wmi_query'
    WMI olay uyarı belirten sorgu. wmi_queryise nvarchar(512), null varsayılan.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Hiçbiri

Açıklamalar

sp_add_alert dan çalıştırılması gereken msdb veritabanı.

Bu koşullar altında hangi hataları/iletileri tarafından oluşturulan vardır SQL Serverve SQL Serveruygulamaları Windows uygulama günlüğüne gönderilir ve bu nedenle uyarıları yükseltebilirsiniz:

  • 19 Veya yüksek önem sys.messages hataları

  • WITH GNLK sözdizimi ile çağrılan herhangi RAISERROR deyimi

  • Herhangi bir sys.messages hata değiştirilen veya oluşturulan kullanarak oluşturulan

  • Kullanarak oturum açmış herhangi bir olay xp_logevent

SQL Server Management Studiobir uyarı altyapı yapılandırmak için önerilen yoldur ve tüm uyarı sistemi yönetmek için kolay ve grafiksel bir yol sağlar.

Uyarı düzgün çalışmıyorsa, kontrol olsun:

  • SQL ServerAracısı hizmeti.

  • Windows uygulama günlüğüne Olay çıktı.

  • Uyarı etkindir.

  • İle oluşturulan olayları xp_logevent ana veritabanında oluşur. Bu nedenle, xp_logevent uyarı sürece tetiklemez @ veritabanı_adı için uyarı 'Ana' veya null.

İzinler

Varsayılan olarak, yalnızca üyeleri sysadmin sabit sunucu rolü yürütebilirsiniz sp_add_alert.

Örnekler

Aşağıdaki örnek, çalışan uyarı (Test Alert) ekler Back up the AdventureWorks2012 Databaseiş zaman ateş.

[!NOT]

Bu örnek varsayar 55001 ileti ve Back up the AdventureWorks2012 Databaseiş zaten mevcut. Örneğin, yalnızca açıklayıcı amacıyla gösterilir.

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 AdventureWorks2012 Database' ;
GO

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 AdventureWorks2012 Database' ;
GO

Ayrıca bkz.

Başvuru

sp_add_notification (Transact-sql)

oluşturulan (Transact-sql)

sp_delete_alert (Transact-sql)

sp_help_alert (Transact-sql)

sp_update_alert (Transact-sql)

sys.sysperfinfo (Transact-sql)

Sistem saklı yordamları (Transact-sql)