sp_trace_setfilter (Transact-SQL)
Applies a filter to a trace.sp_trace_setfilter may be executed only on existing traces that are stopped (status is 0).SQL Server returns an error if this stored procedure is executed on a trace that does not exist or whose status is not 0.
sp_trace_setfilter [ @traceid = ] trace_id
, [ @columnid = ] column_id
, [ @logical_operator = ] logical_operator
, [ @comparison_operator = ] comparison_operator
, [ @value = ] value
Argumenty
[ @traceid= ] trace_id
Is the ID of the trace to which the filter is set.trace_id is int, with no default.Użytkownik wykorzystuje to trace_id wartość zidentyfikować, modyfikować i kontroli śledzenia.[ @columnid= ] column_id
Is the ID of the column on which the filter is applied.column_id is int, with no default.Jeśli column_id ma wartość NULL, SQL Server powoduje wyczyszczenie wszystkich filtrów dla określonego śledzenia.[ @ logical_operator = ] logical_operator
Specifies whether the AND (0) or OR (1) operator is applied.logical_operator is int, with no default.[ @comparison_operator= ] comparison_operator
Specifies the type of comparison to be made.comparison_operator is int, with no default.Tabela ta zawiera operatory porównania oraz wartości reprezentatywną.Wartość
Operator porównania
0
= (Równe)
1
<> (Nie równe)
2
> (Więcej niż)
3
< (Mniejsze niż)
4
>= (Większe niż lub równe)
5
<= (Mniejsze niż lub równe)
6
PODOBNIE JAK
7
NIE, NP.
[ @value= ] value
Określa wartość, na którym należy filtrować.Typ danych value musi być zgodny z typem danych kolumna do filtrowania. Na przykład, jeśli filtr jest ustawiony na kolumna z IDENTYFIKATOREM obiektu jest int Typ danych value musi być int. Jeśli value jest nvarchar lub varbinary, może mieć maksymalną długość 8000.Kiedy operator porównania jest tak lub nie, jak operator logiczny może zawierać "%" lub inne odpowiednie dla operacji LIKE filtru.
W SQL Server 2005 i nowszej, można określić wartość NULL dla value Aby odfiltrować zdarzeń o wartości NULL kolumna. Tylko 0 (= Równości) i 1 Operatory (<> nie równych) są prawidłowe wartości NULL. W takim wypadku są równoważne z tych operatorów Transact-SQL IS NULL i operatorów IS NOT NULL.
Aby zastosować filtr między zakres wartości kolumna sp_trace_setfilter musi zostać wykonane dwukrotnie — raz z większą od lub równości ("> =") operator porównania, a druga czas z mniej od lub równości ("< =") operatora.
Aby uzyskać więcej informacji na temat danych kolumna typy danych, zobacz temat SQL Server Event Class Reference.
Wartości kodów powrotnych
W poniższej tabela opisano wartości kodów, że użytkownicy mogą uzyskać po przeprowadzeniu procedura przechowywana.
Zwraca kod |
Description |
---|---|
0 |
Brak błędu. |
1 |
Nieznany błąd. |
2 |
Śledzenie jest obecnie uruchomione.Zmiana śledzenia w tej czas spowoduje wystąpienie błędu. |
4 |
Określona kolumna nie jest prawidłowy. |
5 |
Określona kolumna nie jest dozwolona dla filtrowania.Ta wartość jest zwracana tylko z sp_trace_setfilter. |
6 |
Podany operator porównania jest nieprawidłowy. |
7 |
Operator logiczny, określona jest nieprawidłowa. |
9 |
Uchwyt określonego śledzenia jest nieprawidłowa. |
13 |
Mało pamięci.Zwracane, gdy jest za mało pamięci do wykonania określonej akcja. |
16 |
Funkcja nie jest prawidłowy dla tego śledzenia. |
Remarks
sp_trace_setfilter is a SQL Server Procedura przechowywana, która wykonuje wiele czynności wykonane wcześniej w rozszerzonych procedur przechowywanych w starszych wersjach SQL Server. Użycie sp_trace_setfilter zamiast xp_trace_set * filtru rozszerzonych procedur przechowywanych do tworzenia, stosowanie, usunąć lub manipulować filtry na śladów.Aby uzyskać więcej informacji zobaczFiltering a Trace.
Wszystkie filtry dla określonej kolumna musi być włączony razem w jednym wykonywania sp_trace_setfilter.For example, if a user intends to apply two filters on the application name column and one filter on the username column, the user must specify the filters on application name in sequence.SQL Server returns an error if the user attempts to specify a filter on application name in one stored procedure call, followed by a filter on username, then another filter on application name.
(Procedury przechowywane parametry wszystkich śledzenia SQLsp_trace_xx) ściśle są wpisane.Jeśli te parametry nie są nazywane z typami danych prawidłowego parametru wejściowego, jak określono w opisie argumentu procedura przechowywana zwraca błąd.
Uprawnienia
Użytkownik musi mieć uprawnienie ALTER TRACE.
Przykłady
Poniższy przykład przedstawia trzy filtry na śledzenia 1. Filtry N'SQLT%' i N'MS%' działają na jednym kolumna ()AppName, wartość 10) przy użyciu "LIKE"operator porównania. Filtr N'joe' operuje na (innej kolumnaUserName, wartość 11) przy użyciu "EQUAL"operator porównania.
sp_trace_setfilter 1, 10, 0, 6, N'SQLT%'
sp_trace_setfilter 1, 10, 0, 6, N'MS%'
sp_trace_setfilter 1, 11, 0, 0, N'joe'
See Also