Udostępnij za pośrednictwem


sp_trace_setfilter (języka Transact-SQL)

Stosuje filtr do śledzenia.sp_trace_setfilter mogą być wykonywane tylko na istniejących ślady, które są zatrzymane (status jest 0).SQL ServerZwraca błąd, jeśli ta procedura składowana jest wykonywany na śledzenia nie istnieje lub których status nie jest 0.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_trace_setfilter [ @traceid = ] trace_id 
          , [ @columnid = ] column_id
          , [ @logical_operator = ] logical_operator
          , [ @comparison_operator = ] comparison_operator
          , [ @value = ] value

Argumenty

  • [ @traceid= ] trace_id
    Jest to identyfikator śledzenia, do którego filtr jest zestaw.trace_idjest int, z braku domyślne.Użytkownik wykorzystuje to trace_id wartość do identyfikowania, modyfikowanie i kontroli śledzenia.

  • [ @columnid= ] column_id
    Jest to identyfikator w kolumna zastosowano filtr.column_idjest int, z braku domyślne.Jeśli column_id ma wartość NULL, SQL Server powoduje wyczyszczenie wszystkich filtrów dla określonego śledzenia.

  • [ @ logical_operator =] logical_operator
    Określa, czy AND (0) lub OR (1) zastosować operator .logical_operatorjest int, z braku domyślne.

  • [ @ comparison_operator= ] comparison_operator
    Określa typ porównania.comparison_operatorjest int, z braku domyślne.tabela zawiera operatory porównania oraz ich reprezentatywne wartości.

    Wartość

    Operator porównawczy

    0

    = (Równe)

    1

    <>(Różne)

    2

    >(Większe niż)

    3

    <(Znak mniejszości)

    4

    >= (Większe niż lub równe)

    5

    <= (Mniejsze lub równe)

    6

    PODOBNIE JAK

    7

    NIE JEST PODOBNE_DO

  • [ @value= ] value
    Określa wartość, którą chcesz filtrować.Typ danych value musi odpowiadać typowi danych kolumna mają zostać odfiltrowane.Na przykład, jeśli filtr jest zestaw na identyfikator obiektu kolumna , która jest int typu danych, value musi być int.Jeśli value jest nvarchar lub varbinary, może mieć maksymalną długość 8000.

    Gdy operator porównania jest tak lub nie, jak logiczny operator może zawierać "%" lub inne właściwe dla PODOBNYCH operacji filtrowania.

    W SQL Server 2005 i później, można określić wartość NULL dla value do odfiltrowywania zdarzenia z kolumna wartości NULL.Tylko 0 (= równe) i 1 (<> nie równych) operatory są prawidłowe wartości NULL.W tym przypadeksą równoważne do tych operatorów Transact-SQL jest puste i nie jest NULL operatorów.

    Aby zastosować filtr między zakres wartości kolumna , sp_trace_setfilter muszą być wykonane dwa razy — raz z większą od lub równa (">=") operatorporównania, a innym czas z mniej niż lub równa ("<=") operator.

    Aby uzyskać więcej informacji o typach danych kolumna danych, zobacz SQL ServerOdwołania klasy zdarzeń.

Wartości kodów powrotnych

W poniższej tabela opisano wartości kodu, że użytkownicy mogą uzyskać po przeprowadzeniu procedura składowana.

Kod powrotu

Opis

0

Nie ma błędów.

1

Nieznany błąd.

2

Śledzenie jest aktualnie uruchomione.Zmiana śledzenia tego czas wyniki w błąd.

4

Określona kolumna nie jest prawidłowy.

5

Określona kolumna nie jest dozwolone do filtrowania.Ta wartość jest zwracana tylko z sp_trace_setfilter.

6

Podany Operator porównania jest nieprawidłowy.

7

Operator logiczny określony jest nieprawidłowa.

9

Określone dojście śledzenia jest nieprawidłowa.

13

Za mało pamięci.Zwracane jest za mało pamięci do wykonania określonej akcja.

16

funkcja nie jest prawidłowa dla tego śledzenia.

Uwagi

sp_trace_setfilter jest SQL Server procedura składowana , który wykonuje wiele działań wykonanych wcześniej przez rozszerzonych procedur przechowywanych w starszych wersjach SQL Server.Użycie sp_trace_setfilter zamiast xp_trace_set * filtru rozszerzonych procedur przechowywanych do tworzenia, stosowanie, usuwanie lub filtry na ślady manipulowania.Aby uzyskać więcej informacji, zobacz Filtrowanie śledzenia.

Wszystkie filtry dla określonej kolumna musi być włączone razem w realizacji jednego sp_trace_setfilter.Na przykład, jeśli użytkownik zamierza zastosować dwa filtry na nazwę aplikacji kolumna i jeden filtr na nazwa_użytkownika kolumna, użytkownik musi określić filtrów na nazwę aplikacji w sekwencji.SQL ServerZwraca błąd, jeśli użytkownik próbuje określić filtr nazwa aplikacji w wywołaniu jednego procedura składowana następuje filtr użytkownika innego filtru na nazwę aplikacji.

Parametry śledzenia SQL wszystkie procedury przechowywane (sp_trace_xx) są ściśle wpisane.procedura składowana zwraca błąd, jeśli te parametry nie są nazywane z typami danych prawidłowych parametrów wejściowych, jak określono w opisie argumentu.

Uprawnienia

Użytkownik musi mieć uprawnienie Zmiana śledzenia.

Przykłady

W poniższym przykładzie trzy filtry na śledzeniu 1.Filtry N'SQLT%' i N'MS%' działają w jednej kolumna (AppName, wartość 10) za pomocą "LIKE"" operatorporównania.Filtr N'joe' działa na innej kolumna (UserName, wartość 11) za pomocą "EQUAL"" operatorporó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'