sp_altermessage (Transact-SQL)
Se aplica a: SQL Server
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 mediante la vista de sys.messages
catálogo.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_altermessage
[ @message_id = ] message_id
, [ @parameter = ] N'parameter'
, [ @parameter_value = ] 'parameter_value'
[ ; ]
Argumentos
[ @message_id = ] message_id
Número de error del mensaje que se va a modificar de sys.messages
. @message_id es int, sin valor predeterminado.
[ @parameter = ] N'parameter'
Se usa con @parameter_value para indicar que el mensaje se va a escribir en el registro de aplicaciones de Microsoft Windows. @parameter es sysname, sin ningún valor predeterminado.
@parameter debe establecerse WITH_LOG
en o NULL
. Si @parameter se establece WITH_LOG
en o NULL
y el valor de @parameter_value es true
, el mensaje se escribe en el registro de aplicaciones de Windows. Si @parameter se establece WITH_LOG
en o NULL
y el valor de @parameter_value es false
, el mensaje no siempre se escribe en el registro de aplicaciones de Windows, pero puede escribirse en función de cómo se produjo el error.
Si se escribe un mensaje en el registro de aplicaciones de Windows, también se escribe en el archivo de registro de errores Motor de base de datos.
Si se especifica @parameter , también se debe especificar @parameter_value .
[ @parameter_value = ] 'parameter_value'
Se usa con @parameter para indicar que el error se va a escribir en el registro de aplicaciones de Microsoft Windows. @parameter_value es varchar(5), sin ningún valor predeterminado.
- Si
true
es , el error siempre se escribe en el registro de aplicaciones de Windows. - Si
false
es , el error no siempre se escribe en el registro de aplicaciones de Windows, pero puede escribirse en función de cómo se produjo el error.
Si se especifica @parameter_value , también se debe especificar @parameter .
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Ninguno.
Comentarios
El efecto de sp_altermessage
con la WITH_LOG
opción es similar al del RAISERROR WITH LOG
parámetro , excepto que sp_altermessage
cambia el comportamiento de registro de un mensaje existente. Si se modifica un mensaje como WITH_LOG
, siempre se escribe en el registro de aplicaciones de Windows, independientemente de cómo invoca un usuario el error. Incluso si RAISERROR
se ejecuta sin la WITH_LOG
opción , el error se escribe en el registro de aplicaciones de Windows.
Los mensajes del sistema se pueden modificar mediante sp_altermessage
.
Permisos
Requiere la pertenencia al rol fijo de servidor serveradmin .
Ejemplos
En el ejemplo siguiente se escribe el mensaje 55001
existente en el registro de aplicaciones de Windows.
EXEC sp_altermessage 55001, 'WITH_LOG', 'true';
GO