xp_logevent (T-SQL)
Berlaku untuk: SQL Server
Mencatat pesan yang ditentukan pengguna dalam file log SQL Server dan di log Peristiwa Windows. xp_logevent
dapat digunakan untuk mengirim pemberitahuan tanpa mengirim pesan ke klien.
Sintaks
xp_logevent { error_number , 'message' } [ , 'severity' ]
Argumen
error_number
Nomor kesalahan yang ditentukan pengguna lebih besar dari 50000
. Nilai maksimum adalah 2147483647
(2^31 - 1).
'pesan'
String karakter dengan maksimum 2048 karakter.
'tingkat keparahan'
Salah satu dari tiga string karakter: INFORMATIONAL
, , WARNING
atau ERROR
. tingkat keparahan bersifat opsional, dengan default INFORMATIONAL
.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Tataan hasil
xp_logevent
mengembalikan pesan kesalahan berikut untuk contoh kode yang disertakan:
The command(s) completed successfully.
Keterangan
Saat Anda mengirim pesan dari prosedur Transact-SQL, pemicu, batch, dan sebagainya, gunakan RAISERROR
pernyataan alih-alih xp_logevent
. xp_logevent
tidak memanggil penangan pesan klien, atau mengatur @@ERROR
. Untuk menulis pesan ke log Peristiwa Windows dan ke file log kesalahan SQL Server dalam instans SQL Server, jalankan RAISERROR
pernyataan.
Izin
Memerlukan keanggotaan dalam peran database tetap db_owner dalam master
database, atau keanggotaan dalam peran server tetap sysadmin .
Contoh
Contoh berikut mencatat pesan, dengan variabel yang diteruskan ke pesan di Pemantau Peristiwa Windows.
DECLARE @@TABNAME VARCHAR(30),
@@USERNAME VARCHAR(30),
@@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;