xp_logevent (Transact-SQL)xp_logevent (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Protokolliert eine benutzerdefinierte Nachricht in die SQL ServerSQL Server Protokolldatei und in der Windows-Ereignisanzeige.Logs a user-defined message in the SQL ServerSQL Server log file and in the Windows Event Viewer. Xp_logevent kann eine Warnung gesendet, ohne das Senden einer Nachricht an den Client verwendet werden.xp_logevent can be used to send an alert without sending a message to the client.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


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

ArgumenteArguments

error_numbererror_number
Eine benutzerdefinierte Fehlernummer, die größer als 50.000 ist.Is a user-defined error number larger than 50,000. Der Maximalwert ist 2147483647 (2^31 - 1).The maximum value is 2147483647 (2^31 - 1).

" Nachricht "' message '
Eine Zeichenfolge mit maximal 2048 Zeichen.Is a character string with a maximum of 2048 characters.

" Schweregrad "' severity '
Eine der drei folgenden Zeichenfolgen: INFORMATIONAL, WARNING oder ERROR.Is one of three character strings: INFORMATIONAL, WARNING, or ERROR. Schweregrad ist optional, Standardwert ist Informational.severity is optional, with a default of INFORMATIONAL.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

ResultsetsResult Sets

xp_logevent gibt für das Codebeispiel die folgende Fehlermeldung zurück:xp_logevent returns the following error message for the included code example:

The command(s) completed successfully.

HinweiseRemarks

Beim Senden von Nachrichten aus Transact-SQLTransact-SQL Prozeduren, Trigger, Batches und So weiter, verwenden Sie die RAISERROR-Anweisung statt Xp_logevent.When you send messages from Transact-SQLTransact-SQL procedures, triggers, batches, and so on, use the RAISERROR statement instead of xp_logevent. Xp_logevent nicht Nachrichtenhandler eines Clients oder set @@ERROR.xp_logevent does not call a message handler of a client or set @@ERROR. Führen Sie die RAISERROR-Anweisung aus, um Nachrichten in die Windows-Ereignisanzeige und in die SQL ServerSQL Server-Fehlerprotokolldatei in einer Instanz von SQL ServerSQL Server zu schreiben.To write messages to the Windows Event Viewer and to the SQL ServerSQL Server error log file within an instance of SQL ServerSQL Server, execute the RAISERROR statement.

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der festen Datenbankrolle db_owner in der master-Datenbank oder Mitgliedschaft in der festen Serverrolle sysadmin.Requires membership in the db_owner fixed database role in the master database, or membership in the sysadmin fixed server role.

BeispieleExamples

Im folgenden Beispiel wird die Nachricht (mit den an sie übergebenen Variablen) in der Windows-Ereignisanzeige protokolliert.The following example logs the message, with variables passed to the message in the Windows Event Viewer.

DECLARE @@TABNAME varchar(30, @@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;  

Siehe auchSee Also

PRINT (Transact-SQL) PRINT (Transact-SQL)
RAISERROR (Transact-SQL) RAISERROR (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL) System Stored Procedures (Transact-SQL)
Allgemeine erweiterte gespeicherte Prozeduren ( Transact-SQL )General Extended Stored Procedures (Transact-SQL)