xp_logevent (Transact-sql)
Bir kullanıcı tanımlı ileti günlükleri SQL Servergünlük dosyasını ve Windows Olay Görüntüleyicisi'nde. xp_logeventistemciye bir ileti göndermeden uyarı göndermek için kullanılabilir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
xp_logevent { error_number , 'message' } [ , 'severity' ]
Bağımsız değişkenler
error_number
Bir kullanıcı tanımlı hata numarası, 50.000 büyüktür. En büyük değer 2147483647 olur (2 ^ 31 - 1).'message'
En çok 2048 karakter bir karakter dizesi olan.'severity'
Üç karakter dizeleri biridir: bilgi verici, uyarı veya hata. severityİsteğe bağlı, varsayılan bilgi ile olur.
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-SQLyordamlar, Tetikleyiciler, toplu işlemi ve benzeri RAISERROR deyimi yerine kullanmak xp_logevent. xp_logeventdeğil bir istemcinin ileti işleyicisi çağırmak veya @@ error ayarlayın. Windows Olay Görüntüleyicisi'ni ve için ileti yazmak için SQL ServerHata günlük dosyası örneği içinde SQL Server, RAISERROR deyimi yürütme.
İzinler
Üyelik db_ownersabit veritabanı rolü masterveritabanı veya üyelik sysadminsunucu rolü.
Örnekler
Aşağıdaki örnek, Windows Olay görüntüleyiciyi iletisinde geçirilen değişken ileti 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
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