Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
Penting
Argumen untuk prosedur tersimpan yang diperluas harus dimasukkan dalam urutan tertentu seperti yang dijelaskan di bagian Sintaks. Jika parameter dimasukkan di luar urutan, pesan kesalahan terjadi.
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, , WARNINGatau 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;
EXECUTE xp_logevent 60000,
@@MESSAGE, informational;