sp_trace_generateevent (Transact-SQL)
Crée un événement défini par l'utilisateur dans SQL Server.
Notes
Cette procédure stockée n'est pas déconseillée.Toutes les autres procédures stockées liées à la trace sont déconseillées.
S'applique à : SQL Server (SQL Server 2008 via la version actuelle). |
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_trace_generateevent [ @eventid = ] event_id
[ , [ @userinfo = ] 'user_info' ]
[ , [ @userdata = ] user_data ]
Arguments
[ @eventid=] event_id
ID de l'événement à activer. event_id est de type int et n'a 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. 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. 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. Renvoyé lorsqu'il n'y a pas assez de mémoire pour exécuter l'action spécifiée. |
Notes
sp_trace_generateevent effectue une grande partie des actions précédemment exécutées par les procédures stockées étendues xp_trace_*. 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 numéros d'identification des événements sont utilisés.
Les paramètres de toutes les procédures stockées Trace SQL (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');
Voir aussi
Référence
sys.fn_trace_geteventinfo (Transact-SQL)
sp_trace_setevent (Transact-SQL)