Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Registra un messaggio definito dall'utente nel file di log di SQL Server e nel registro eventi di Windows.
xp_logevent
può essere usato per inviare un avviso senza inviare un messaggio al client.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
xp_logevent { error_number , 'message' } [ , 'severity' ]
Argomenti
Importante
Gli argomenti per le stored procedure estese devono essere immessi nell'ordine specifico, come descritto nella sezione Sintassi. Se i parametri vengono immessi in ordine non corretto, si verifica un messaggio di errore.
error_number
Numero di errore definito dall'utente maggiore di 50000
. Il valore massimo è 2147483647
(2^31 - 1).
'message'
Stringa di caratteri con un massimo di 2048 caratteri.
'gravità'
Una delle tre stringhe di caratteri: INFORMATIONAL
, WARNING
o ERROR
.
la gravità è facoltativa, con un valore predefinito .INFORMATIONAL
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
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 Transact-SQL, trigger, batch e così via, usare l'istruzione RAISERROR
anziché xp_logevent
.
xp_logevent
non chiama un gestore di messaggi di un client o imposta @@ERROR
. Per scrivere messaggi nel registro eventi di Windows e nel file di log degli errori di SQL Server all'interno di un'istanza di SQL Server, eseguire l'istruzione RAISERROR
.
Autorizzazioni
Richiede l'appartenenza al ruolo predefinito del database db_owner o master
l'appartenenza al ruolo predefinito del server sysadmin .
Esempi
Nell'esempio seguente il messaggio viene registrato, insieme alle variabili passate, nel Visualizzatore eventi di 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;