Share via


sp_altermessage (Transact-SQL)

Modifica el estado de los mensajes definidos por el usuario o del sistema en una instancia del Motor de base de datos de SQL Server. Los mensajes definidos por el usuario se pueden ver con la vista de catálogo sys.messages.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_altermessage [ @message_id = ] message_number   ,[ @parameter = ]'write_to_log'
   ,[ @parameter_value = ]'value' 

Argumentos

  • [@message_id = ] message_number
    Es el número de error del mensaje que se va a modificar desde sys.messages. message_number es de tipo int y no tiene valor predeterminado.

  • [ @parameter = ] **'**write_to_log'
    Se usa con @parameter_value para indicar que el mensaje se va a escribir en el registro de aplicaciones de Microsoft Windows. write_to_log es de tipo sysname y no tiene valor predeterminado. write_to_log se debe establecer en WITH_LOG o en NULL. Si write_to_log se establece en WITH_LOG o NULL y el valor de @parameter_value es true, el mensaje se escribe en el registro de aplicación Windows. Si write_to_log se establece en WITH_LOG o NULL y el valor de @parameter_value es false, el mensaje no siempre se escribe en el registro de aplicación Windows, pero se puede escribir en función de cómo se haya producido el error. Si se especifica write_to_log, se debe especificar también el valor de @parameter_value.

    [!NOTA]

    Si se escribe un mensaje en el registro de aplicación Windows, también se escribe en el archivo de registro de errores del Motor de base de datos.

  • [ @parameter_value = ]**'**value'
    Se usa con @parameter para indicar que el error se va a escribir en el registro de aplicaciones de Microsoft Windows. value es de tipo varchar(5) y no tiene valor predeterminado. Si es true, el error se escribe siempre en el registro de aplicación Windows. Si es false, el error no siempre se escribe en el registro de aplicación Windows, pero se puede escribir en función de cómo se haya producido el error. Si se especifica value, se debe especificar también write_to_log para @parameter.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

El efecto de sp_altermessage con la opción WITH_LOG es similar al del parámetro RAISERROR WITH, excepto en que sp_altermessage cambia el comportamiento de registro de un mensaje existente. Si se ha modificado un mensaje para que sea WITH_LOG, siempre se escribe en el registro de aplicación Windows, independientemente de cómo el usuario invoque el error. Aunque se ejecute RAISERROR sin la opción WITH_LOG, el error se escribe en el registro de aplicaciones de Windows.

Los mensajes del sistema se pueden modificar mediante sp_altermessage.

Permisos

Necesita la pertenencia al rol fijo de servidor serveradmin.

Ejemplos

En el ejemplo siguiente se hace que el mensaje 55001 existente se registre en el registro de aplicación Windows.

sp_altermessage 55001, 'WITH_LOG', 'true';
GO

Vea también

Referencia

RAISERROR (Transact-SQL)

sp_addmessage (Transact-SQL)

sp_dropmessage (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)