Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 3.31 KB

File metadata and controls

79 lines (60 loc) · 3.31 KB
title xp_logevent (Transact-SQL) | Microsoft Docs
ms.custom
ms.date 03/16/2017
ms.prod sql
ms.prod_service database-engine
ms.reviewer
ms.technology system-objects
ms.topic language-reference
f1_keywords
xp_logevent
xp_logevent_TSQL
dev_langs
TSQL
helpviewer_keywords
xp_logevent
ms.assetid 7b379ad0-5b12-4d2e-9c52-62465df1fdbd
author MashaMSFT
ms.author mathoma

xp_logevent (Transact-SQL)

[!INCLUDEtsql-appliesto-ss2008-xxxx-xxxx-xxx-md]

Logs a user-defined message in the [!INCLUDEssNoVersion] log file and in the Windows Event Viewer. xp_logevent can be used to send an alert without sending a message to the client.

Topic link icon Transact-SQL Syntax Conventions

Syntax

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

Arguments

error_number
Is a user-defined error number larger than 50,000. The maximum value is 2147483647 (2^31 - 1).

' message '
Is a character string with a maximum of 2048 characters.

' severity '
Is one of three character strings: INFORMATIONAL, WARNING, or ERROR. severity is optional, with a default of INFORMATIONAL.

Return Code Values

0 (success) or 1 (failure)

Result Sets

xp_logevent returns the following error message for the included code example:

The command(s) completed successfully.

Remarks

When you send messages from [!INCLUDEtsql] procedures, triggers, batches, and so on, use the RAISERROR statement instead of xp_logevent. xp_logevent does not call a message handler of a client or set @@ERROR. To write messages to the Windows Event Viewer and to the [!INCLUDEssNoVersion] error log file within an instance of [!INCLUDEssNoVersion], execute the RAISERROR statement.

Permissions

Requires membership in the db_owner fixed database role in the master database, or membership in the sysadmin fixed server role.

Examples

The following example logs the message, with variables passed to the message in the Windows Event Viewer.

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;  

See Also

PRINT (Transact-SQL)
RAISERROR (Transact-SQL)
System Stored Procedures (Transact-SQL)
General Extended Stored Procedures (Transact-SQL)