sp_trace_generateevent (Transact-SQL)

Crée un événement défini par l'utilisateur

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_trace_generateevent [ @eventid = ] event_id 
     [ , [ @userinfo = ] 'user_info' ]
     [ , [ @userdata = ] user_data ]

Arguments

  • [ @eventid=] event_id
    Identificateur de l'événement à activer. L'argument event_id est de type int et ne possède pas de valeur par défaut. L'ID doit être compris dans la plage des numéros d'événements de 82 à 91, lesquels représentent les événements définis par l'utilisateur tels qu'ils sont définis avec sp_trace_setevent.

  • [ @userinfo= ] 'user_info'
    Chaîne facultative, définie par l'utilisateur, qui identifie le motif de l'événement. L'argument user_info est de type nvarchar(128), avec NULL comme valeur par défaut.

  • [ @userdata= ] user_data
    Données facultatives spécifiées par l'utilisateur et se rapportant à l'événement. L'argument user_data est de type varbinary(8000), avec NULL comme valeur par défaut.

Valeurs des codes de retour

Le tableau suivant décrit les valeurs de code que les utilisateurs peuvent recevoir à la fin de l'exécution de la procédure stockée.

Code de retour

Description

0

Aucune erreur.

1

Erreur inconnue.

3

L'événement spécifié n'est pas valide. Il se peut qu'il n'existe pas ou qu'il ne soit pas adapté à la procédure stockée.

13

Mémoire insuffisante. Retourné lorsqu'il n'y a pas assez de mémoire pour exécuter l'action spécifiée.

Notes

sp_trace_generateevent est une procédure stockée MicrosoftSQL Server 2000 qui exécute bon nombre d'actions précédemment effectuées par les procédures stockées étendues xp_trace_*, disponibles dans les versions antérieures de SQL Server. Utilisez sp_trace_generateevent au lieu de xp_trace_generate_event.

Seuls les numéros d'identification des événements définis par l'utilisateur peuvent être utilisés avec sp_trace_generateevent. SQL Server génère une erreur si d'autres ID d'événement sont utilisés.

Les paramètres de toutes les procédures stockées SQL Trace (sp_trace_xx) doivent être d'un type précis. Si ces paramètres ne sont pas appelés à l'aide des types de données de paramètre d'entrée appropriés, comme spécifié dans la description de l'argument, la procédure stockée renvoie une erreur.

Autorisations

L'utilisateur doit disposer de l'autorisation ALTER TRACE.

Exemples

L'exemple suivant crée un événement pouvant être configuré par l'utilisateur dans un exemple de table.

--Create a sample table.
CREATE TABLE user_config_test(col1 int, col2 char(10))

--DROP the trigger if it already exists.
IF EXISTS
   (SELECT * FROM sysobjects WHERE name = 'userconfig_trg')
   DROP TRIGGER userconfig_trg

--Create an ON INSERT trigger on the sample table.
CREATE TRIGGER userconfig_trg
   ON user_config_test FOR INSERT
AS
EXEC master..sp_trace_generateevent
   @event_class = 82, @userinfo = N'Inserted row into user_config_test'

--When an insert action happens, the user-configurable event fires. If 
you were capturing the event id=82, you will see it in the Profiler output.
INSERT INTO user_config_test VALUES(1, 'abc')