Aracılığıyla paylaş


xp_logevent (Transact-SQL)

Bir kullanıcı tanımlı ileti her oturum açtığında SQL Server günlük dosyasını ve Windows Olay Görüntüleyici. xp_logevent istemcibir iletiyi göndermeden uyarı göndermek için kullanılabilir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

xp_logevent { error_number , 'message' } [ , 'severity' ]

Bağımsız değişkenler

  • error_number
    Kullanıcı tanımlı hata sayısı, 50.000'den büyük.En büyük değer 2147483647 olur (2 ^ 31 - 1).

  • 'message'
    En çok 2048 karakter bir karakter dize olan.

  • 'severity'
    Üç karakter dizeleri biridir: BİLGİLENDİRİCİ, uyarı veya hata.severityVarsayılan bir BİLGİLENDİRİCİ ile isteğe bağlıdır.

Dönüş Kodu Değerleri

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

Sonuç Kümeleri

xp_logeventeklenen kod örneği için aşağıdaki hata iletisini döndürür:

The command(s) completed successfully.

Açıklamalar

Gelen iletiler gönderdiğinizde Transact-SQL yordamlar, tetikleyiciler, toplu ve benzeri, yerine RAISERROR deyim kullanın xp_logevent.xp_logeventbir istemci veya küme @@ hata message handler çağırmaz.Windows Olay Görüntüleyicisi'ni ve çok ileti yazmak için SQL Serverhata günlüğü dosyası örnek içinde SQL Server, RAISERROR deyim yürütmek .

İzinler

Üyelik gerektiren db_owner veritabanı rolü sabit master veritabanı veya üyelik sysadmin sabit sunucu rolü.

Örnekler

Aşağıdaki örnek, Windows Olay Görüntüleyicisi'ni iletisinde geçirilen değişkenleri ile iletisini günlüğe kaydeder.

DECLARE @@TABNAME varchar(30)
DECLARE @@USERNAME varchar(30)
DECLARE @@MESSAGE varchar(255)
SET @@TABNAME = 'customers'
SET @@USERNAME = USER_NAME()
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user 
   ' + @@USERNAME + '.'

USE master
EXEC xp_logevent 60000, @@MESSAGE, informational