sp_trace_generateevent (Transact-SQL)
Crea un evento definito dall'utente.
Convenzioni della sintassi Transact-SQL
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.
Osservazioni
sp_trace_generateevent è una stored procedure di Microsoft SQL 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.
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. |
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
Riferimento
fn_trace_geteventinfo (Transact-SQL)
sp_trace_setevent (Transact-SQL)