sp_altermessage (Transact-SQL)
Modifie l'état des messages définis par l'utilisateur dans une instance du moteur de base de données SQL Server. Les messages définis par l'utilisateur peuvent être affichés à l'aide de l'affichage catalogue sys.messages.
Important : |
---|
Cette fonctionnalité a été modifiée par rapport aux versions antérieures de SQL Server. Pour plus d'informations, consultez Changements de comportement des fonctionnalités du moteur de base de données de SQL Server 2005. |
Conventions de la syntaxe de Transact-SQL
Syntaxe
sp_altermessage [ @message_id = ] message_number , [ @parameter = ] 'write_to_log'
, [ @parameter_value = ] 'value'
Arguments
- [****@message_id =** ] message_number
Numéro d'erreur du message à modifier à partir de sys.messages. message_number est de type int et n'a pas de valeur par défaut.
[ @parameter = ] **'**write_to_log'
Utilisé avec l'argument @parameter_value pour indiquer que le message doit être écrit dans le journal des applications Microsoft Windows. write_to_log est de type sysname et n'a pas de valeur par défaut. La valeur de write_to_log doit être définie sur WITH_LOG ou sur NULL. Si l'argument write_to_log a la valeur WITH_LOG ou NULL et que la valeur de @parameter_value est égale à true, le message est écrit dans le journal des applications Windows. Si write_to_log a la valeur WITH_LOG ou NULL et que la valeur de @parameter_value est égale à false, le message n'est pas toujours écrit dans le journal des applications Windows, mais il peut l'être selon les circonstances dans lesquelles l'erreur s'est déclenchée. Si l'argument write_to_log est spécifié, la valeur de @parameter_value doit l'être aussi.Remarque : Si un message est écrit dans le journal des applications Windows, il l'est également dans le fichier du journal des erreurs du moteur de base de données.
- [ @parameter_value = ]****'**value'
Utilisé avec l'argument @parameter pour indiquer que l'erreur doit être écrite dans le journal des applications Microsoft Windows. value est de type varchar(5) et n'a pas de valeur par défaut. Si sa valeur est true, l'erreur est automatiquement écrite dans le journal des applications Windows. Si sa valeur est false, l'erreur n'est pas automatiquement écrite dans le journal des applications Windows mais elle peut l'être selon les circonstances de la génération de l'erreur. Si l'argument value est spécifié, la valeur de write_to_log pour @parameter doit également l'être.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Jeux de résultats
Aucun
Notes
L'effet de la procédure stockée sp_altermessage avec l'option WITH_LOG est identique à celui du paramètre RAISERROR WITH LOG, si ce n'est que sp_altermessage modifie le comportement de journalisation d'un message existant. Si un message a été modifié avec l'option WITH_LOG, il est toujours écrit dans le journal des applications Windows, quelle que soit la manière dont un utilisateur appelle l'erreur. Même si RAISERROR est exécuté sans l'option WITH_LOG, l'erreur est écrite dans le journal des applications Windows.
Les messages système ne peuvent pas être modifiés en utilisant la procédure sp_altermessage.
Autorisations
L'utilisateur doit appartenir au rôle de serveur fixe serveradmin.
Exemple
Dans l'exemple suivant, le message 55001
est enregistré dans le journal des applications Windows.
sp_altermessage 55001, 'WITH_LOG', 'true';
GO
Voir aussi
Référence
RAISERROR (Transact-SQL)
sp_addmessage (Transact-SQL)
sp_dropmessage (Transact-SQL)
Procédures stockées système (Transact-SQL)