Udostępnij za pośrednictwem


Generic SQL Trace Collector Type

Typem zbierającego rodzajowy śledzenia SQL używa śledzenia SQL do monitorowania SQL Server aparat relacyjny. Dane śledzenia mogą pochodzić z śledzenia domyślną lub z jednego lub więcej niestandardowych śladów.This collector type is registered in the core.supported_collector_typesview.

Trace domyślne, sterowane przez ustawienie całego serwera, działa w sposób ciągły na serwerze i przechwytuje ogólne zdarzenia odsetek.Zdarzenia te odsetki nie są związane z wykonania poszczególnych zadań wsadowych.Jest to śledzenia wpływu na niski.Ślady niestandardowych można zebrać wszystkie zdarzenia i może mieć wpływ niski lub wysoki, w zależności od zdarzenia, które są zaznaczone i aktywności serwera w czasie, na którym uruchomiono śledzenie.W większości przypadków ślady niestandardowe nie działają stale.

Rodzajowy śledzenia SQL typ modułu zbierającego dane uruchamia śledzenia po stronie serwera, który przechowuje dane w pliku lub zestaw plików.Dane śledzenia są uzyskiwane z plików śledzenia przy użyciu funkcja fn_trace_gettable() systemu.Jeśli skonfigurowany, aby to zrobić, kolektora przetwarza dane, a następnie wysyła dane do magazyn danych zarządzania.

Rodzajowy śledzenia SQL typ modułu zbierającego dane jest skonfigurowany, aby usunąć nieużywane pliki i aby utrzymać stałą ilość miejsca dla danych śledzenia przechowywaną.

Ogólny schemat wprowadzania śledzenia SQL

Rodzajowy śledzenia SQL typ modułu zbierającego dane używa następującego schematu dla parametrów wejściowych.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="DataCollectorType">
  <xs:element name="SqlTraceCollector">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Events">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="EventType">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="Event">
                      <xs:complexType>
                        <xs:attribute name="id" type="xs:unsignedByte" use="required" />
                        <xs:attribute name="name" type="xs:string" use="required" />
                        <xs:attribute name="columnslist" type="xs:string" use="optional" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:unsignedByte" use="optional" />
                  <xs:attribute name="name" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Filters">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Filter" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:attribute name="columnid" type="xs:unsignedByte" use="required" />
                  <xs:attribute name="columnname" type="xs:string" use="required" />
                  <xs:attribute name="logical_operator" type="xs:string" use="required" />
                  <xs:attribute name="comparison_operator" type="xs:string" use="required" />
                  <xs:attribute name="value" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="use_default" type="xs:boolean" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Jak pokazano w schemacie, typ modułu zbierającego zawiera klucz elementów, parametrów procedur przechowywanych i specjalne kolumny.

Najważniejsze elementy

  • Definicja śledzenia wejściowy zawiera listę zdarzeń i listę filtrów, które definiują śledzenia.

  • zdarzenie są grupowane w ramach EventType węzeł, który odpowiada kategoria zdarzenie w SQL Server Profiler.

  • Dla EventType węzeł, ID atrybut musi odpowiadać wartości z widoku sys.trace_category systemu. The name atrybut is optional.

  • Dla Event węzeł, ID atrybut musi odpowiadać wartości z widoku sys.trace_events systemu. Atrybut name jest opcjonalne.

  • Identyfikatory są używane podczas generowania skryptów rozpoczęcia śledzenia.Nazwy są używane, aby zwiększyć czytelność i do renderowania definicji danych wejściowych w interfejs użytkownika.

  • Event węzeł zawiera następujące atrybuty:

    • ID, name.Explained previously.

    • columnslist.A comma-separated list of column IDs to be selected for the event.Jeśli columnslist nie jest określony, wszystkie kolumny dla tego zdarzenie zostaną uwzględnione.

  • The Filter node defines a filter applied to the trace.Atrybuty mają następujące znaczenie:

    • columnid.ID of a column that the filter applies to.

    • columnname.The name of the column identified by columnid.Używany do renderowania.

    • logical_operator.An operator to be applied between multiple filters on the same column.Dozwolone są wartości AND i OR.

    • comparison_operator.An operator to be applied between the column and the filter value.Dozwolone wartości to: EQ, NE, GT, GE, LT, LE, LIKE i NOTLIKE.

    • value.The value to use for comparison.Należy zauważyć, że wartość filtru oraz operator porównania musi odpowiadać typowi kolumna, w której stosowany jest filtr.Na przykład, jeżeli typem kolumna jest string, tylko operatorów "LIKE" i „ NOTLIKE"mogą być używane i akceptowane są tylko wartości ciąg dla wartości filtru.

Parametry procedura przechowywana

Następujące parametry procedury sp_trace_create przechowywane są definiowane na podstawie zestaw kolekcja lub opcje zbierającego.

  • @options.Trace is always started with the rollover option set (TRACE_FILE_ROLLOVER).

  • @tracefile.The location of trace files is determined by the CollectorTempDir variable.Nazwa plik śledzenia zostanie wygenerowany jako łączenie: "DataCollector_" +nazwa_wystąpienia + CollectionSetUid + CollectionItemId + ".trc".

  • @maxfilesize.Is always set to 5 megabytes (MB).

  • @stoptime.Not used.

  • @filecount.Set to fit the maximum temporary storage allowed per collection set (in MB).@filecount = limit magazynowania/5.

Specjalne kolumn

Dodatkowe kolumny są dostarczane dla każdego zdarzenie, nawet wtedy, gdy nie są one wyświetlana wartość w parametrach wejściowych dla tego zdarzenie.Te kolumny są następujące:

  • StartTime

  • EndTime

  • EventSequence

  • SPID

Kolumny w poprzednim identyfikowania zdarzeń pochodzenia i włączania korelacji zdarzeń.

Poniższy przykład kodu ilustruje użycie schematu wprowadzania używany przez typ modułu zbierającego dane rodzajowy śledzenia SQL.

<?xml version="1.0" encoding="utf-8"?>

<ns:SqlTraceCollector xmlns:ns="DataCollectorType" normalize_sql="0" normalize_plans="0" normalize_procedures="0" normalize_connections="0" 
normalize_default="1">

<Events>
<EventType id ="6" name="Performance">
<Event id="58" name="Auto Stats"/>
<Event id="165" name="Performance statistics"/>
<Event id="146" name="Showplan XML Statistics Profile"/>
</EventType>
<EventType id="13" name="TSQL">
<Event id="12" name="SQL:BatchCompleted" columnslist="1, 3, 9, 10, 13, 16, 17, 18"/>
<Event id="13" name="SQL:BatchStarting"/>
<Event id="41" name="SQL:StmtCompleted"/>
<Event id="166" name="SQL:StmtRecompile"/>
</EventType>
<EventType id="20" name="CLR">
<Event id="196" name="Assembly Load"/>
</EventType>
<EventType id="1" name="Cursors">
<Event id="53" name="CursorOpen"/>
<Event id="75" name="CursorRecompile"/>
<Event id="76" name="CursorImplicitConversion"/>
<Event id="78" name="CursorClose"/>
</EventType>
</Events>

<Filters>
<Filter columnid="13" columnname="Duration" logical_operator="AND" comparison_operator="GE" value="1000L"/>
<Filter columnid="10" columnname="ApplicationName" logical_operator="AND" comparison_operator="LIKE" value="Data Collector"/>
<Filter columnid="10" columnname="ApplicationName" logical_operator="AND" comparison_operator="EQ" value="NULL"/>
<Filter columnid="18" columnname="CPU" logical_operator="AND" comparison_operator="EQ" value="20"/>
<Filter columnid="14" columnname="StartTime" logical_operator="AND" comparison_operator="GT" value="2007-02-09 13:40:00"/>
</Filters>

</ns:SqlTraceCollector>

Przetwarzanie i produkcji

Ta wersja typem zbierającego rodzajowy śledzenia SQL obsługuje ładowania danych śledzenia pełną, przetwarzającym zdarzenia przechwytywane śledzenia domyślnego serwera.

Śledzenie pełne ładowania danych

W przypadku tego typu danych załadować Ślad ładowania danych bez żadnych operacji w pojedynczej tabela, która zawiera wszystkie kolumny możliwości śledzenia.Dane z wielu ślady mogą być ładowane do tej samej tabela, co ułatwi scalania danych.Oprócz danych śledzenia snapshot_id jest dołączany do każdego wiersza, dzięki czemu możliwe jest zidentyfikowanie urządzenie źródłowe danych śledzenia i czas śledzenia.

Korzyści, które są udostępniane przez ładowania danych do pełnego śledzenia są następujące:

  • Ma pobrać dane śledzenia z serwera do bazy danych, gdzie można łatwo kwerendy, a dalej przetwarzane bez konieczności otwierania śledzenia w prosty sposób SQL Server Profiler.

  • Dane z wielu ślady może być scalane i powiązane ze sobą.

  • Brak bez utraty danych z oryginalnego śledzenia.Wszystko, co przechwycenia jest zachowywana.

  • Istniejące narzędzia, takie jak SQL Server Profiler, można użyć do przeglądania danych.

Schemat obiekt docelowy

obiekt docelowy Schematu jest zdefiniowany jako jedna tabela, która przechwytuje szczegółowe informacje dotyczące śledzenia, przechowywane w magazynie danych zarządzania i jednej tabela, która jest używana do przechowywania wszystkich zdarzeń śledzenia z śladów.Dane śledzenia są przechowywane w następujących tabelach magazyn danych zarządzania:

  • snapshots.trace_info.Ta tabela zawiera informacje o wszystkie ślady przekazane wystąpienie magazynu.

  • snapshots.trace_data.Ta tabela zawiera dane przechwycone przez wszystkie ślady.Definiuje kolumna dla każdej kolumna możliwości śledzenia.Przechowywanie danych śledzenia w ten sposób umożliwia wstawienie danych w tabela, w tym samym kształtem jako, gdy pochodzi ona z funkcja systemowej fn_trace_gettable() modułów zbierających dane.Umożliwia także być ładowane bezpośrednio do tabela SQL Server Profiler.

Aby uzyskać więcej informacji na temat tych tabel zobacz The Management Data Warehouse.

Historia zmian

Microsoft Learning

Poprawiono schematu wejściowy rodzajowy śledzenia SQL.

Poprawiono przykład kodu, w którym pokazano sposób użycia wejściowy schematu używanego przez typem zbierającego rodzajowy śledzenia SQL.