sp_trace_generateevent (Transact-SQL)
Crea un evento definito dall'utente.
Sintassi
sp_trace_generateevent [ @eventid = ] event_id
[ , [ @userinfo = ] 'user_info' ]
[ , [ @userdata = ] user_data ]
Argomenti
[ @eventid=] event_id
ID dell'evento da attivare. event_id è di tipo int e non prevede alcun valore predefinito. L'ID deve essere un numero di evento compreso tra 82 e 91. I valori di questo intervallo corrispondono agli eventi definiti dall'utente impostati tramite sp_trace_setevent.[ @userinfo= ] 'user_info'
Stringa facoltativa definita dall'utente che identifica la causa dell'evento. user_info è di tipo nvarchar(128) e il valore predefinito è NULL.[ @userdata= ] user_data
Dati facoltativi per l'evento specificati dall'utente. user_data è di tipo varbinary(8000) e il valore predefinito è NULL.
Valori restituiti
Nella tabella seguente vengono descritti i possibili valori di codice visualizzati al completamento della stored procedure.
Codice restituito |
Descrizione |
---|---|
0 |
Nessun errore. |
1 |
Errore sconosciuto. |
3 |
L'evento specificato non è valido, in quanto non esiste oppure non è appropriato per la stored procedure. |
13 |
Memoria esaurita. Restituito quando la quantità di memoria disponibile non è sufficiente per eseguire l'azione specificata. |
Osservazioni
sp_trace_generateevent è una stored procedure di MicrosoftSQL Server 2000 che esegue molte delle azioni eseguite dalle stored procedure estese xp_trace_* disponibili nelle versioni precedenti di SQL Server. Utilizzare sp_trace_generateevent anziché xp_trace_generate_event.
Con sp_trace_generateevent è possibile utilizzare solo ID di eventi definiti dall'utente. Se si utilizzano altri ID di evento, in SQL Server verrà generato un errore.
I parametri di tutte le stored procedure SQL Trace (sp_trace_xx) devono essere fortemente tipizzati. Se questi parametri non vengono chiamati con i tipi di dati corretti per i parametri di input, come indicato nella descrizione dell'argomento, la stored procedure restituirà un errore.
Autorizzazioni
L'utente deve disporre dell'autorizzazione ALTER TRACE.
Esempi
Nell'esempio seguente viene creato un evento configurabile dall'utente in una tabella di esempio.
--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')
Vedere anche