Udostępnij za pośrednictwem


System Data Collection Sets

Moduł zbierający dane instaluje trzech dane systemu kolekcja ustawia podczas SQL Server 2008 Instalator procesu. Te zestawy kolekcja można skonfigurować w taki sposób, aby odpowiadały potrzebom monitorowania, ale nie można usunąć.Zestawy zbierania danych systemu składają się z następujących czynności:

  • Użycie dysku.Zbiera dane dotyczące wykorzystania dysku, a dziennik dla wszystkich baz danych zainstalowanych w systemie.

  • Działanie serwera.Zbiera dane statystyczne i wydajność użycia zasób z serwera i SQL Server.

  • Statystyka kwerendy.Zbiera kwerendy statystyki, tekst poszczególnych kwerendy, planów kwerend i określonej kwerendy.

Użycie dysku zestaw kolekcja

Użycie miejsca na dysku zestaw kolekcja śledzi wzrost bazy danych i plików dziennika i udostępnia statystyki związane z pliku, takie jak średnia wzrostu (w megabajtach) za każdy dzień.

zestaw kolekcja Ma dwa elementy kolekcja, Użycie dysku - pliki danych and Użycie dysku - plików dziennika.Zarówno za pomocą typ modułu zbierającego dane rodzajowy kwerendy T-SQL.zestaw kolekcja Zbiera następujących danych:

  • Migawki rozmiary plików danych uzyskanych z sys.partitions i sys.allocation_units widoków.

  • Migawki rozmiarów plików dziennika z polecenie DBCC SQLPERF (LOGSPACE).

  • Migawki danych statystycznych We/Wy z funkcja sys.dm_io_virtual_file_stats.

Poniższe tabele zawierają szczegółowe informacje na temat użycie miejsca na dysku zestaw kolekcja i jego elementy kolekcja.

zestaw kolekcja nazwy

Użycie dysku

tryb kolekcja

Brak pamięci podręcznej

Przekaż częstotliwość harmonogramu

Co 6 godzin

Przechowywania danych

dni 730

Kolekcja elementów

Użycie dysku - pliki danych

Użycie dysku - plików dziennika

Nazwa element kolekcja

Użycie dysku - pliki danych

typ modułu zbierającego dane dane

Rodzajowy T-SQL kwerendy

Kwerendy 1

SELECT @dbsize = SUM(convert(bigint,case when type = 0 then size else 0 end)) 
      ,@logsize = SUM(convert(bigint,case when type = 1 then size else 0 end)) 
      ,@ftsize = SUM(convert(bigint,case when type = 4 then size else 0 end)) 
FROM sys.database_files
SELECT @reservedpages = SUM(a.total_pages) 
       ,@usedpages = SUM(a.used_pages) 
       ,@pages = SUM(CASE 
                        WHEN it.internal_type IN (202,204) THEN 0 
                        WHEN a.type != 1 THEN a.used_pages 
                        WHEN p.index_id < 2 THEN a.data_pages 
                        ELSE 0 
                     END) 
FROM sys.partitions p  
JOIN sys.allocation_units a ON p.partition_id = a.container_id 
LEFT JOIN sys.internal_tables it ON p.object_id = it.object_id 
SELECT 
        @dbsize as ''dbsize'',
        @logsize as ''logsize'',
        @ftsize as ''ftsize'',
        @reservedpages as ''reservedpages'',
        @usedpages as ''usedpages'',
        @pages as ''pages''

Kwerendy wyjściowy 1

disk_usage

Nazwa element kolekcja

Użycie dysku - plików dziennika

typ modułu zbierającego dane dane

Rodzajowy T-SQL kwerendy

Kwerendy 1

INSERT INTO @tran_log_space_usage 
EXEC(''DBCC SQLPERF (LOGSPACE) WITH NO_INFOMSGS'');
SELECT 
    database_name,
    log_size_mb,
    log_space_used,
    status    
FROM @tran_log_space_usage

Kwerendy wyjściowy 1

log_usage

Działanie serwera zestaw kolekcja

Działanie serwera zestaw kolekcja zawiera omówienie SQL Server działania, SQL Server wykorzystanie zasób i SQL Server spór o zasoby. zestaw kolekcja Zapewnia także hermetyzowane celu ogólne wykorzystanie zasób systemowych umożliwia określenie, jeśli problemy z wydajnością związanych z działalnością poza zakresem SQL Server.

To zestaw kolekcja zbiera próbek danych z następujących widoków dynamicznego zarządzania:

  • sys.dm_os_wait_stats

  • sys.dm_os_latch_stats

  • sys.dm_os_schedulers

  • sys.dm_exec_sessions, sys.dm_exec_requests, sys.dm_os_waiting_tasks (za pomocą kwerendy sprzężonych)

  • sys.dm_os_process_memory

  • sys.dm_os_memory_nodes

Ponadto próbek danych są pobierane z kilku systemu i SQL Server liczniki wydajności.

Zestaw kolekcja aktywności serwera daje ogólny analitycznego systemu z punktu widzenia wykorzystania zasób i wąskich gardeł związanych z zasób.Wykorzystanie zasób jest śledzony w cztery ogólne kategorie: PROCESOR, We/Wy dysku, pamięć i sieci. próbkowanie sys.dm_exec_sessions, sys.dm_exec_requests i sys.dm_os_waiting_tasks umożliwia korelacji działania systemu z wąskich gardeł związanych z zasób i problemy blokujące.

Uruchom na własny, to zestaw kolekcji umożliwia dołączony można skojarzyć zasób wąskich gardeł związanych z zablokowanej sesja i pokazać blokowanie poziom sesja.Chociaż teksty kwerendy nie są zbierane, można użyć sql_handle i plan_handle informacje, które są zbierane przez statystyki Query zestaw kolekcji drążenie poniżej poziom sesja.

Poniższe tabele zawierają szczegółowe informacje na temat zestaw kolekcja aktywności serwera i jego elementów kolekcja.

zestaw kolekcja nazwy

Działanie serwera

tryb kolekcja

W pamięci podręcznej

Przekaż częstotliwość harmonogramu

Co 15 minut

Przechowywania danych

dni 14

Kolekcja elementów

Działanie serwera - DMV migawki

Działanie serwera — liczników wydajności

Nazwa element kolekcja

Działanie serwera — DMV migawki

typ modułu zbierającego dane dane

Rodzajowy T-SQL kwerendy

Częstotliwość kolekcja

60 sekund

Kwerendy 1

SELECT 
    LEFT (wait_type, 45) AS wait_type, 
    SUM (waiting_tasks_count) AS waiting_tasks_count, 
    SUM (wait_time_ms) AS wait_time_ms, 
    SUM (signal_wait_time_ms) AS signal_wait_time_ms
FROM
 (SELECT 
    LEFT (wait_type, 45) AS wait_type, 
    waiting_tasks_count, 
    wait_time_ms,  
    signal_wait_time_ms
FROM sys.dm_os_wait_stats 
WHERE waiting_tasks_count > 0 OR wait_time_ms > 0 OR signal_wait_time_ms > 0
UNION ALL 
    SELECT 
        LEFT (wait_type, 45) AS wait_type, 
        1 AS waiting_tasks_count, 
        wait_duration_ms AS wait_time_ms, 
        0 AS signal_wait_time_ms
    FROM sys.dm_os_waiting_tasks
    WHERE wait_duration_ms > 60000
) AS merged_wait_stats
GROUP BY wait_type

Kwerendy wyjściowy 1

snapshots.os_wait_stats

Kwerendy 2

SELECT 
  LEFT(latch_class,45) as latch_class,
  waiting_requests_count,
  wait_time_ms
FROM sys.dm_os_latch_stats 
WHERE waiting_requests_count > 0 OR wait_time_ms > 0

Kwerendy wyjściowy 2

snapshots.os_latch_stats

Kwerendy 3

SELECT 
    pm.physical_memory_in_use_kb            AS sql_physical_memory_in_use_kb, 
    pm.large_page_allocations_kb            AS sql_large_page_allocations_kb, 
    pm.locked_page_allocations_kb           AS sql_locked_page_allocations_kb, 
    pm.total_virtual_address_space_kb       AS sql_total_virtual_address_space_kb, 
    pm.virtual_address_space_reserved_kb    AS sql_virtual_address_space_reserved_kb, 
    pm.virtual_address_space_committed_kb   AS sql_virtual_address_space_committed_kb, 
    pm.virtual_address_space_available_kb   AS sql_virtual_address_space_available_kb, 
    pm.page_fault_count                     AS sql_page_fault_count, 
    pm.memory_utilization_percentage        AS sql_memory_utilization_percentage, 
    pm.available_commit_limit_kb            AS sql_available_commit_limit_kb, 
    pm.process_physical_memory_low          AS sql_process_physical_memory_low, 
    pm.process_virtual_memory_low           AS sql_process_virtual_memory_low, 
    
    sm.total_physical_memory_kb             AS system_total_physical_memory_kb, 
    sm.available_physical_memory_kb         AS system_available_physical_memory_kb, 
    sm.total_page_file_kb                   AS system_total_page_file_kb, 
    sm.available_page_file_kb               AS system_available_page_file_kb, 
    sm.system_cache_kb                      AS system_cache_kb, 
    sm.kernel_paged_pool_kb                 AS system_kernel_paged_pool_kb, 
    sm.kernel_nonpaged_pool_kb              AS system_kernel_nonpaged_pool_kb, 
    sm.system_high_memory_signal_state      AS system_high_memory_signal_state, 
    sm.system_low_memory_signal_state       AS system_low_memory_signal_state, 
    
    si.bpool_commit_target                  AS bpool_commit_target, 
    si.bpool_committed                      AS bpool_committed, 
    si.bpool_visible                        AS bpool_visible
FROM sys.dm_os_process_memory AS pm
CROSS JOIN sys.dm_os_sys_memory AS sm   -- single-row DMV
CROSS JOIN sys.dm_os_sys_info AS si;    -- single-row DMV

Kwerendy wyjściowy 3

snapshots.sql_process_and_system_memory

Kwerendy 4

SELECT 
    memory_node_id, 
    virtual_address_space_reserved_kb, 
    virtual_address_space_committed_kb, 
    locked_page_allocations_kb, 
    single_pages_kb, 
    multi_pages_kb, 
    shared_memory_reserved_kb, 
    shared_memory_committed_kb
FROM sys.dm_os_memory_nodes

Kwerendy wyjściowy 4

snapshots.os_memory_nodes

Kwerendy 5

SELECT 
    type,
    memory_node_id as memory_node_id,
    SUM(single_pages_kb) as single_pages_kb,
    SUM(multi_pages_kb) as multi_pages_kb,
    SUM(virtual_memory_reserved_kb) as virtual_memory_reserved_kb,
    SUM(virtual_memory_committed_kb) as virtual_memory_committed_kb,
    SUM(awe_allocated_kb) as awe_allocated_kb,
    SUM(shared_memory_reserved_kb) as shared_memory_reserved_kb,
    SUM(shared_memory_committed_kb) as shared_memory_committed_kb
FROM sys.dm_os_memory_clerks
GROUP BY type, memory_node_id

Kwerendy wyjściowy 5

snapshots.os_memory_clerks

Kwerendy 6

SELECT 
    [parent_node_id],
    [scheduler_id],
    [cpu_id],
    [status],
    [is_idle],
    [preemptive_switches_count],
    [context_switches_count],
    [yield_count],
    [current_tasks_count],
    [runnable_tasks_count],
    [work_queue_count],
    [pending_disk_io_count]
FROM sys.dm_os_schedulers
WHERE scheduler_id < 128

Kwerendy wyjściowy 6

snapshots.os_schedulers

Kwerendy 7

SELECT 
    DB_NAME (f.database_id) AS database_name, f.database_id, f.name AS logical_file_name, f.[file_id], f.type_desc, 
    CAST (CASE 
        -- Handle UNC paths (e.g. ''\\fileserver\readonlydbs\dept_dw.ndf'' --> ''\\fileserver\readonlydbs'')
        WHEN LEFT (LTRIM (f.physical_name), 2) = ''\\'' 
            THEN LEFT (LTRIM (f.physical_name), 
            CHARINDEX (''\'', 
            LTRIM (f.physical_name), 
            CHARINDEX (''\'', 
            LTRIM (f.physical_name), 3) + 1) - 1)
        -- Handle local paths (e.g. ''C:\Program Files\...\master.mdf'' --> ''C:'') 
        WHEN CHARINDEX (''\'', LTRIM(f.physical_name), 3) > 0 
            THEN UPPER (LEFT (LTRIM (f.physical_name), CHARINDEX (''\'', LTRIM (f.physical_name), 3) - 1))
        ELSE f.physical_name
    END AS nvarchar(255)) AS logical_disk, 
    fs.num_of_reads, fs.num_of_bytes_read, fs.io_stall_read_ms, fs.num_of_writes, fs.num_of_bytes_written, 
    fs.io_stall_write_ms, fs.size_on_disk_bytes
FROM sys.dm_io_virtual_file_stats (default, default) AS fs
INNER JOIN sys.master_files AS f ON fs.database_id = f.database_id AND fs.[file_id] = f.[file_id]

Kwerendy wyjściowy 7

snapshots.io_virtual_file_stats

Nazwa element kolekcja

Działanie serwera — liczników wydajności

typ modułu zbierającego dane dane

Liczniki wydajności

Częstotliwość kolekcja

60 sekund

Wskazania liczników wydajności

Liczniki "Pamięci" = "% zadeklarowane bajty w użyciu. „

Liczniki "Pamięci" = "Bajty dostępne"

Liczniki "Pamięci" = "Bajty pamięci podręcznej"

Liczniki "Pamięci" = "Błędy pamięci podręcznej/s"

Liczniki "Pamięci" = "Zatwierdzone bajty"

Liczniki "Pamięci" = "wolny &Zero strona lista bajty"

Liczniki "Pamięci" = "Modyfikacji strona lista bajty"

Liczniki "Pamięci" = "Strony/s"

Liczniki "Pamięci" = "strona odczyty/s"

Liczniki "Pamięci" = "Strona zapisu/s"

Liczniki "Pamięci" = "błędy stron/s"

Liczniki "Pamięci" = "Puli niestronicowanej"

Liczniki "Pamięci" = "Bajty puli stronicowanej"

Liczniki "Pamięci" = "Bajty Core pamięci podręcznej gotowości"

Liczniki "Pamięci" = "Standby normalny priorytet bajty pamięci podręcznej"

Liczniki "Pamięci" = "Bajty rezerwowej pamięci podręcznej gotowości"

Liczniki "Pamięci" = "Bajty puli stronicowanej"

Liczniki "Pamięci" = "Zapis kopii/s"

Liczniki "Proces" = "*" wystąpienia "_Suma" =

Liczniki "Proces" = "*"Instances="$(TARGETPROCESS)"

Liczniki "Proces" = "Liczba wątek" wystąpienia = "*"

Liczniki "proces „ = wystąpienia"% czas procesora"=" * "

Liczniki "Proces" = "Bajty/s do odczytu We/Wy" wystąpienia = "*"

Liczniki "Proces" = "Bajty/s zapisu We/Wy" wystąpienia = "*"

Liczniki "Proces" = "Bajty prywatne" wystąpienia = "*"

Liczniki "Proces" = "Zestaw roboczy" wystąpienia = "*"

Liczniki "Procesor" = "% czas procesora" wystąpienia = "*"

Liczniki "Procesor" = "% czas użytkownika" wystąpienia = "*"

Liczniki "Procesor" = "% uprzywilejowane czas „ wystąpienia =" * "

Liczniki "Kolejki robocze serwera" = "Długość kolejki" wystąpienia = "*"

Liczniki "Dysk logiczny" = "% czas dysku" wystąpienia = "*"

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku długość kolejki"=" * "

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku długość kolejki odczytu"=" * "

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku długość kolejki zapisu"=" * "

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku w s/Odczyt"=" * "

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku w s/Zapis"=" * "

Liczniki "Dysk logiczny" = "średniaWystąpienia dysku w s/Transfer"=" * "

Liczniki "Dysk logiczny" = "Odczyty dysku/s" wystąpienia = "*"

Liczniki "Dysk logiczny" = "Bajty dysku/s" wystąpienia = "*"

Liczniki "Dysk logiczny" = "Zapisy dysku/s" wystąpienia = "*"

Liczniki "Dysk logiczny" = "Podziel We/Wy/s" wystąpienia = "*"

Liczniki "System" = "Długość kolejki procesora"

Liczniki "System" = "Plik odczyt operacje/s"

Liczniki "System" = "Operacje zapisu plików/s"

Liczniki "System" = "Pliku sterowania operacji/s"

Liczniki "System" = "Plik odczytu liczba bajtów/s"

Liczniki "System" = "Bajty zapisu plików/s"

Liczniki "System" = "Pliku sterowania bajty/s"

Liczniki "interfejs sieciowego" = "Całkowita liczba bajtów/s" wystąpienia = "*"

Liczniki "interfejs sieciowego" = "Wyjście długość kolejki" wystąpienia = "*"

Liczniki "Menedżer SQLServer:Buffer" = "Stolen strony"

Liczniki "Menedżer SQLServer:Buffer" = "Strona expectancy życia"

Liczniki "Menedżer SQLServer:Memory" = "Pamięci granty pozostała"

Liczniki "Menedżer SQLServer:Memory" = "Pamięci przydziela oczekiwanie"

Liczniki "SQLServer:Databases" = "Transakcje/sec" wystąpienia "_Suma" =

Liczniki "SQLServer:Databases" = "Transakcje/sec" wystąpienia = "tempdb"

Liczniki "SQLServer:Databases" = "Active transakcji „ wystąpienia =" * "

Liczniki "SQLServer:General Statystyka" = "Logowania/s"

Liczniki "SQLServer:General Statystyka" = "Logouts/s"

Liczniki "SQLServer:General Statystyka" = "Połączenia użytkownika"

Liczniki "SQLServer:General Statystyka" = "Logiczne połączenia"

Liczniki "SQLServer:General Statystyka" = "transakcji „

Liczniki "SQLServer:General Statystyka" = "Procesy zablokowane"

Liczniki "SQLServer:General Statystyka" = "Active tabele Temp"

Liczniki "SQLServer:SQL Statystyka" = "Przetwarzanie żądania/s"

Liczniki "SQLServer:SQL Statystyka" = "Kompilacje SQL/s"

Liczniki "SQLServer:SQL Statystyka" = "SQL ponownie Compilations/s"

Liczniki "SQLServer:SQL Statystyka" = "wskaźnik Uwaga SQL „

Liczniki "SQLServer:SQL Statystyka" = "próby automatycznego parametru/s"

Liczniki "SQLServer:SQL Statystyka" = "Auto parametry/s nie powiodło się"

Liczniki "Pamięci podręcznej SQLServer:Plan" = "Współczynnik odwołań do pamięci podręcznej" wystąpienia "_Suma" =

Liczniki "Pamięci podręcznej SQLServer:Plan" = "Współczynnik odwołań do pamięci podręcznej" wystąpienia = "Plany obiektu"

Liczniki "Pamięci podręcznej SQLServer:Plan" = "Współczynnik odwołań do pamięci podręcznej" wystąpienia = "plany SQL „

Liczniki "Pamięci podręcznej SQLServer:Plan" = "Współczynnik odwołań do pamięci podręcznej" wystąpienia = "tabele tymczasowe &Zmienne Tabela"

Liczniki "SQLServer:Transactions" = "wolne miejsce w tempdb (KB) „

Liczniki "Statystyki SQLServer:grupa obciążenia" = "Active żądania" wystąpienia = "*"

Liczniki "Statystyki SQLServer:grupa obciążenia" = "Zablokowanych zadania" wystąpienia = "*"

Liczniki "Statystyki SQLServer:grupa obciążenia" = "% wykorzystania PROCESORA" wystąpienia = "*"

Kwerendy statystyki zestaw kolekcja

Statystyki Query zestaw kolekcji zbiera dane dotyczące statystyki kwerendy i tekst kwerendy poszczególnych planów kwerend i określonej kwerendy.Te dane powiązane z poziom systemu statystyki i działania, umożliwia drążenie poniżej poziom sesja na poszczególnych kwerendę.

To zestaw kolekcja zbiera dane z następujących źródeł:

  • sys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_exec_query_stats i inne związane z dynamicznego zarządzania widokami.

  • Tekst z wybranego zadania wsadowe i kwerendy.

  • Plan kwerend i wybranej partii.

  • Znormalizowana tekst wybranej partii.

Statystyki Query zestaw kolekcji używa typ modułu zbierającego dane działania kwerendy.Typ działania kwerendy zbierającego zbiera dane za pomocą QueryActivityCollect.dtsx SSIS pakiet i przekazywania danych przy użyciu QueryActivityUpload.dtsx SSIS pakiet. Aby uzyskać więcej informacji na temat pobierania i przekazywania faz typu kolekcja działania kwerendy, łącznie z kwerendy, które są używane zobacz Query Activity Collector Type.

W poniższych tabelach dostarczonych informacji na temat statystyki Query zestaw kolekcja i jego element kolekcja.

zestaw kolekcja nazwy

Kwerendy statystyki

tryb kolekcja

W pamięci podręcznej

Przekaż częstotliwość harmonogramu

Co 15 minut

Przechowywania danych

dni 14

Element kolekcja

Kwerendy statystyki - Query aktywności

Historia zmian

Microsoft Learning

Aktualizacja wszystkich tabel, w których wyświetlane są szczegółowe informacje dotyczące kolekcja zestawy i elementy kolekcja z prawidłowych informacji i kodu.

Przeniesione szczegółowe informacje o kwerendach, które są używane do pobierania statystyki Query ustawiony na Query Activity Collector Type temat.