sp_trace_generateevent (Transact-SQL)
Создает пользовательское событие.
Примечание |
---|
Данная хранимая процедура не является устаревшей. Все остальные, связанные с трассировкой хранимые процедуры являются устаревшими. |
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_trace_generateevent [ @eventid = ] event_id
[ , [ @userinfo = ] 'user_info' ]
[ , [ @userdata = ] user_data ]
Аргументы
[ @eventid=] event_id
Идентификатор включаемого события. Аргумент event_id имеет тип int и не имеет значения по умолчанию. Идентификатор должен быть одним из номеров событий (от 82 до 91), которые представляют пользовательские события, установленные хранимой процедурой sp_trace_setevent.[ @userinfo= ] 'user_info'
Необязательное, определяемое пользователем имя для идентификации сеанса событий. Аргумент user_info имеет тип nvarchar(128) и значение по умолчанию NULL.[ @userdata= ] user_data
Необязательные, указываемые пользователем данные события. Аргумент user_data имеет тип varbinary(8000) и значение по умолчанию NULL.
Значения кодов возврата
В следующей таблице описаны значения кодов, которые могут быть возвращены пользователю при завершении хранимой процедуры.
Код возврата |
Описание |
---|---|
0 |
Нет ошибки. |
1 |
Неизвестная ошибка. |
3 |
Указанное событие недопустимо. Событие не существует или не соответствует хранимой процедуре. |
13 |
Не хватает памяти. Возвращается, когда для выполнения указанного действия недостаточно памяти. |
Замечания
sp_trace_generateevent — это хранимая процедура Microsoft SQL Server 2000, которая выполняет различного рода действия, выполнявшиеся в предыдущих версиях SQL Server расширенными хранимыми процедурами xp_trace_*. Используйте процедуру sp_trace_generateevent вместо расширенной процедуры xp_trace_generate_event.
С sp_trace_generateevent можно использовать только идентификаторы событий, заданных пользователем. SQL Server активирует ошибку при использовании идентификационных номеров других событий.
Аргументы всех хранимых процедур трассировки SQL (sp_trace_xx) строго типизированы. Если эти аргументы вызываются не с правильными типами данных входных параметров, как указано в описании аргумента, хранимая процедура возвращает ошибку.
Разрешения
Пользователь должен иметь разрешение ALTER TRACE.
Примеры
В следующем примере создается пользовательское событие в образце таблицы.
--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');
См. также
Справочник
sys.fn_trace_geteventinfo (Transact-SQL)
Хранимая процедура sp_trace_setevent (Transact-SQL)