xp_logevent (Transact-SQL)

Registra un messaggio definito dall'utente nel file di log di SQL Server e nel Visualizzatore eventi di Windows. È possibile utilizzare xp_logevent per inviare un avviso senza inviare un messaggio al client.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • error_number
    Numero di errore definito dall'utente maggiore di 50.000. Il valore massimo è 2147483647 (2^31 - 1).
  • 'message'
    Stringa di caratteri con lunghezza massima di 255 caratteri.
  • 'severity'
    Una delle tre stringhe di caratteri seguenti: INFORMATIONAL, WARNING o ERROR. severity è facoltativo e il valore predefinito è INFORMATIONAL.

Set di risultati

La stored procedure xp_logevent restituisce il messaggio di errore seguente per l'esempio di codice incluso:

The command(s) completed successfully.

Osservazioni

Quando si inviano messaggi da procedure, trigger, batch Transact-SQL e così via, utilizzare l'istruzione RAISERROR anziché xp_logevent. xp_logevent non richiama un gestore di messaggi di un client né imposta @@ERROR. Per scrivere messaggi nel Visualizzatore eventi di Windows e nel file di log degli errori di SQL Server da un'istanza di SQL Server, eseguire l'istruzione RAISERROR.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del database db_owner nel database master o al ruolo predefinito del server sysadmin.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

Nell'esempio seguente il messaggio viene registrato, insieme alle variabili passate, nel Visualizzatore eventi di Windows.

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

Vedere anche

Riferimento

PRINT (Transact-SQL)
RAISERROR (Transact-SQL)
Stored procedure di sistema (Transact-SQL)
Stored procedure estese generali (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005