Share via


xp_logevent (Transact-SQL)

Registra un mensaje definido por el usuario en el archivo de registro de SQL Server y en el Visor de sucesos de Windows. xp_logevent se puede utilizar para enviar una alerta sin enviar un mensaje al cliente.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • error_number
    Es un número de error definido por el usuario mayor que 50.000. El valor máximo es 2147483647 (2^31 - 1).
  • 'message'
    Es una cadena con un máximo de 255 caracteres.
  • 'severity'
    Es una de las tres cadenas de caracteres siguientes: INFORMATIONAL, WARNING o ERROR. severity es opcional y su valor predeterminado es INFORMATIONAL.

Conjuntos de resultados

xp_logevent devuelve el siguiente mensaje de error para el ejemplo de código incluido:

The command(s) completed successfully.

Notas

Al enviar mensajes desde procedimientos Transact-SQL, desencadenadores, procesos por lotes, etc., utilice la instrucción RAISERROR en lugar de xp_logevent. xp_logevent no invoca un controlador de mensaje de un cliente ni establece @@ERROR. Para escribir mensajes en el Visor de sucesos de Windows y en el archivo de errores de SQL Server dentro de una instancia de SQL Server, ejecute la instrucción RAISERROR.

Permisos

Debe pertenecer a la función fija de servidor db_owner o a la función fija de base de datos master o a la función fija de servidor sysadmin.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

En el siguiente ejemplo se registra el mensaje (con las variables pasadas al mensaje) en el Visor de sucesos de 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

Vea también

Referencia

PRINT (Transact-SQL)
RAISERROR (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)
Procedimientos almacenados extendidos generales (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005