Udostępnij za pośrednictwem


Zestawy zbierania danych systemowych

Trzy dane systemu instaluje moduł zbierający dane kolekcja ustawia podczas SQL Server 2008 Instalator procesu.Te zestawy kolekcja można skonfigurować do własnych wymagań monitorowania, ale nie można usunąć.Dane systemu kolekcja zestawy składają się z następujących czynności:

  • Użycie dysku.Zbiera dane dotyczące użycia dysku i dziennika dla wszystkich baz danych, zainstalowany w systemie.

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

  • Statystyka kwerendy.Zbiera kwerendy statystyki, tekst kwerendy indywidualnych, planów kwerend i szczególnych zapytań.

Zestaw kolekcji użycia dysku

Użycie dysku zestaw kolekcja śledzi rozwój bazy danych i plików dziennika i udostępnia statystyki związane z pliku, takie jak średniego wzrostu (w megabajtach) dziennie.

zestaw kolekcja Ma dwa elementy kolekcja, Użycie dysku - pliki danych i Użycie dysku - pliki dziennika.Używają rodzajowy kwerendy T SQL typ modułu zbierającego.zestaw kolekcja Zbiera następujących danych:

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

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

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

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

Nazwa zestaw kolekcji

Użycie dysku

Tryb zbierania

Brak pamięci podręcznej

Przekazywanie częstotliwości harmonogramu

Co 6 godzin

Przechowywanie danych

dni 730

Kolekcja elementów

Użycie dysku - pliki danych

Użycie dysku - plików dziennika

Nazwa element kolekcji

Użycie dysku - pliki danych

Typ zbierających

Rodzajowy T-SQL kwerendy

Kwerenda 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''

1 Wyjściu kwerendy

disk_usage

Nazwa element kolekcji

Użycie dysku - plików dziennika

Typ zbierających

Rodzajowy T-SQL kwerendy

Kwerenda 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

1 Wyjściu kwerendy

log_usage

Zestaw kolekcji aktywności serwera

Aktywność serwera zestaw kolekcja zawiera omówienie SQL Server działalności, SQL Server wykorzystania zasób i SQL Server zasób rywalizacja.Kolekcja zestaw również zapewnia hermetyzowane Widok ogólny wykorzystanie zasób systemowych umożliwia określenie, jeśli problemy z wydajnością są związane z działalności poza zakresem SQL Server.

To zestaw kolekcja zbiera dane próbki 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 dane próbki pobiera się z kilku systemu i SQL Server liczników wydajności.

Aktywność serwera zestaw kolekcja daje ogólny widok systemu w zakresie wykorzystania zasób i wąskich gardeł zasób.Obciążenie zasobów jest śledzony w czterech obszarach ogólne: CPU, dysku, pamięć i sieci.próbkowanie z sys.dm_exec_sessions, sys.dm_exec_requests i sys.dm_os_waiting_tasks umożliwia korelacji aktywności systemu z zasób wąskich gardeł i problemy z blokowaniem.

Uruchom na własną, to zestaw kolekcja umożliwia dołączony można skojarzyć wąskich gardeł zasób z zablokowanej sesja i Pokaż blokowanie poziom sesja.Chociaż teksty kwerendy nie są zbierane, sql_handle i plan_handle informacje zebrane przez zbieranie statystyk kwerendy można użyć zestaw drążenie poniżej poziom sesja.

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

Nazwa zestaw kolekcji

Aktywność serwera

Tryb zbierania

Buforowane

Przekazywanie częstotliwości harmonogramu

Co 15 minut

Przechowywanie danych

dni 14

Kolekcja elementów

Aktywność serwera - DMV migawki

Aktywność serwera — liczników wydajności

Nazwa element kolekcji

Aktywność serwera — DMV migawki

Typ zbierających

Rodzajowy T-SQL kwerendy

Częstotliwość pobierania

60 sekund

Kwerenda 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

1 Wyjściu kwerendy

snapshots.os_wait_stats

Kwerenda 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

2 Wyjściu kwerendy

snapshots.os_latch_stats

Kwerenda 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

3 Wyjściu kwerendy

snapshots.sql_process_and_system_memory

Kwerenda 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

4 Wyjściu kwerendy

snapshots.os_memory_nodes

Kwerenda 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

5 Wyjściu kwerendy

snapshots.os_memory_clerks

Kwerenda 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

6 Wyjściu kwerendy

snapshots.os_schedulers

Kwerenda 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'' --&gt; ''\\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'' --&gt; ''C:'') 
        WHEN CHARINDEX (''\'', LTRIM(f.physical_name), 3) &gt; 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]

7 Wyjściu kwerendy

snapshots.io_virtual_file_stats

Nazwa element kolekcji

Aktywność serwera — liczników wydajności

Typ zbierających

Liczniki wydajności

Częstotliwość pobierania

60 sekund

Wskazania liczników wydajności

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

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

"Pamięci" Liczniki = "Bajtów pamięci podręcznej"

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

"Pamięci" Liczniki = "Zadeklarowane bajty"

"Pamięci" Liczniki = "wolnego &amp; Zero bajtów lista stron"

"Pamięci" Liczniki = "Bajtów lista stron zmodyfikowanych"

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

"Pamięci" Liczniki = "Odczyty stron/s"

"Pamięci" Liczniki = "Zapisu strony/s"

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

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

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

"Pamięci" Liczniki = "Bajtów Core pamięci podręcznej gotowości"

"Pamięci" Liczniki = "Wstrzymania pamięci podręcznej normalnego priorytetu bajtów"

"Pamięci" Liczniki = "Bajtów rezerwa pamięci podręcznej gotowości"

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

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

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

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

"Proces" Liczniki = "Liczba wątków" Wystąpienia = "*"

"Proces" Liczniki = "% czasu procesora" Wystąpienia = "*"

"Proces" Liczniki = "IO Odczytane bajty/s" Wystąpienia = "*"

"Proces" Liczniki = "IO Bajty zapisane/s" Wystąpienia = "*"

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

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

"Procesor" Liczniki = "% czasu procesora" Wystąpienia = "*"

"Procesor" Liczniki = "% czasu użytkownika" Wystąpienia = "*"

"Procesor" Liczniki = "% czas uprzywilejowany ()" Wystąpienia = "*"

"Kolejki pracy serwera" Liczniki = "Długość kolejki" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "% czasu dysku" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDługość kolejki dysku" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDługość kolejki odczytu dysku" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDługość kolejki zapisu dysku" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDysku w s/Odczyt" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDysku w s/Zapis" Wystąpienia = "*"

"Dysk logiczny" Liczniki = "średniaDysku w s/Transfer" Wystąpienia = "*"

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

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

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

"Dysk logiczny" Liczniki = "Podział We/Wy/s" Wystąpienia = "*"

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

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

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

"System" Liczniki = "Plik kontroli operacji/s"

"System" Liczniki = "Plik Odczytane bajty/s"

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

"System" Liczniki = "Plik bajtach/s"

"Interfejs sieciowy" Liczniki = "Całkowita liczba bajtów/s" Wystąpienia = "*"

"Interfejs sieciowy" Liczniki = "Długość kolejki wyjściowej" Wystąpienia = "*"

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

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

"Menedżer SQLServer:Memory" Liczniki = "Niewypłacone dotacje pamięci"

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

"sqlserver:databases" Liczniki = "Transakcje/s" Wystąpienia "_Suma" =

"sqlserver:databases" Liczniki = "Transakcje/s" Wystąpienia = "tempdb"

"sqlserver:databases" Liczniki = "Aktywnych transakcji" Wystąpienia = "*"

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

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

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

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

"SQLServer:General statystyki" Liczniki = "Transakcje"

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

"SQLServer:General statystyki" Liczniki = "Aktywne tabele Temp"

"SQLServer:SQL statystyki" Liczniki = "Partii żądania/s"

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

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

"SQLServer:SQL statystyki" Liczniki = "Stawka uwagę SQL"

"SQLServer:SQL statystyki" Liczniki = "Param automatycznych prób/s"

"SQLServer:SQL statystyki" Liczniki = "Auto-Params/s nie powiodło się"

"Pamięć podręczna SQLServer:Plan" Liczniki = "Współczynnik trafień pamięci podręcznej" Wystąpienia "_Suma" =

"Pamięć podręczna SQLServer:Plan" Liczniki = "Współczynnik trafień pamięci podręcznej" Wystąpienia = "Plany obiektu"

"Pamięć podręczna SQLServer:Plan" Liczniki = "Współczynnik trafień pamięci podręcznej" Wystąpienia = "Plany SQL"

"Pamięć podręczna SQLServer:Plan" Liczniki = "Współczynnik trafień pamięci podręcznej" Wystąpienia = "tabel tymczasowych &amp; Zmienne Tabela"

"sqlserver:transactions" Liczniki = "Wolnego miejsca tempdb (KB)"

"Statystyka grupy SQLServer:Workload" Liczniki = "Aktywnych żądań" Wystąpienia = "*"

"Statystyka grupy SQLServer:Workload" Liczniki = "Zablokowane zadań" Wystąpienia = "*"

"Statystyka grupy SQLServer:Workload" Liczniki = "% wykorzystania Procesora" Wystąpienia = "*"

Zestaw zbierania statystyk kwerendy

Statystyki kwerendy zestaw kolekcji zbiera dane dotyczące statystyk kwerendy i tekst kwerendy poszczególnych, planów kwerend i szczególnych zapytań.Te dane powiązane z poziom systemu statystyk i działań, umożliwia drążenie niedziałający poniżej poziom sesja do pojedynczej kwerendy.

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 widoki pokrewne dynamicznego zarządzania.

  • Tekst wybranych partii i kwerend.

  • Plan wybranych partii i kwerend.

  • Znormalizowany tekst instancje zaznaczonego.

Działanie kwerendy używa zestaw zbierania statystyk kwerendy typ modułu zbierającego.Działanie kwerendy typ modułu zbierającego zbiera dane za pomocą QueryActivityCollect.dtsx SSIS pakiet i przekazywania danych za pomocą QueryActivityUpload.dtsx SSIS pakiet.Więcej informacji o fazach zbierania i przekazywania typu działania kwerendy kolekcja, w tym kwerend, które są używane, zobacz Typ zbierających działania kwerendy.

Następujące tabele dostarczonych informacji na temat statystyk kwerendy zestaw kolekcja i jego element kolekcja.

Nazwa zestaw kolekcji

Kwerendy statystyki

Tryb zbierania

Buforowane

Przekazywanie częstotliwości harmonogramu

Co 15 minut

Przechowywanie danych

dni 14

Element kolekcji

Kwerendy statystyki - działanie kwerendy