sp_trace_generateevent (Transact-SQL)
Crea un evento definido por el usuario.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_trace_generateevent [ @eventid = ] event_id
[ , [ @userinfo = ] 'user_info' ]
[ , [ @userdata = ] user_data ]
Argumentos
- [ @eventid=] event_id
Es el Id. del evento que se debe activar. event_id es de tipo int y no tiene ningún valor predeterminado. El Id. debe ser uno de los números de evento del 82 al 91, que representan los eventos definidos por el usuario tal y como se establecen con sp_trace_setevent.
- [ @userinfo= ] 'user_info'
Es la cadena opcional definida por el usuario que identifica la causa del evento. user_info es de tipo nvarchar(128) y su valor predeterminado es NULL.
- [ @userdata= ] user_data
Son los datos opcionales especificados por el usuario para el evento. user_data es de tipo varbinary(8000) y su valor predeterminado es NULL.
Notas
sp_trace_generateevent es un procedimiento almacenado de Microsoft SQL Server 2000 que realiza la mayor parte de las acciones que anteriormente ejecutaban los procedimientos almacenados extendidos xp_trace_* disponibles en versiones anteriores de SQL Server. Utilice sp_trace_generateevent en lugar de xp_trace_generate_event.
Con sp_trace_generateevent sólo se pueden utilizar números de Id. de eventos definidos por el usuario. SQL Server generará un error si se utilizan otros números de Id. de eventos.
Los parámetros de todos los procedimientos almacenados de Traza de SQL (sp_trace_xx) tienen establecimiento inflexible de tipos. Si no se llama a estos parámetros con los tipos de datos de parámetros de entrada correctos, según se especifica en la descripción del argumento, el procedimiento almacenado devolverá un error.
Permisos
El usuario debe tener permiso ALTER TRACE.
Valores de código de retorno
En la tabla siguiente se describen los valores del código que los usuarios pueden obtener después de completar el procedimiento almacenado.
Código de retorno | Descripción |
---|---|
0 |
Ningún error. |
1 |
Error desconocido. |
3 |
El evento especificado no es válido. Puede que el evento no exista o que no sea adecuado para el procedimiento almacenado. |
13 |
Memoria insuficiente. Se devuelve cuando no hay memoria suficiente para realizar la acción especificada. |
Ejemplos
En el ejemplo siguiente se crea un evento configurable por el usuario en una tabla de ejemplo.
--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')
Vea también
Referencia
fn_trace_geteventinfo (Transact-SQL)
sp_trace_setevent (Transact-SQL)