sp_trace_generateevent (Transact-SQL)

Crea un evento definito dall'utente.

Icona di collegamento a un argomentoConvenzioni 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)

Altre risorse

Introduzione a Traccia SQL

Guida in linea e informazioni

Assistenza su SQL Server 2005