sp_altermessage (Transact-SQL)

Modifie l'état des messages système ou définis par l'utilisateur dans une instance du Moteur de base de données SQL Server. Ces messages peuvent être consultés à l'aide de l'affichage catalogue sys.messages.

Icône Lien de rubriqueConventions de syntaxe 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.

    Notes

    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 peuvent être modifiés en utilisant la procédure sp_altermessage.

Autorisations

L'utilisateur doit appartenir au rôle serveur fixe serveradmin.

Exemples

Dans l'exemple suivant, le message 55001 est enregistré dans le journal des applications Windows.

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