Sdílet prostřednictvím


Shromažďování dat a datové sady sledovacích procesů databáze (Preview)

Platí pro: Azure SQL Database Azure SQL Managed Instance

Sledovací proces databáze shromažďuje data monitorování ze systémových zobrazení SQL a ingestuje je do úložiště dat ve formě datových sad. Každá datová sada se vytvoří pomocí dat z jednoho nebo více systémových zobrazení SQL. Pro každou datovou sadu je v úložišti dat samostatná tabulka.

Shromažďování dat

Sledovací proces databáze shromažďuje data monitorování v pravidelných intervalech pomocí dotazů T-SQL. Data shromážděná při každém spuštění dotazu se nazývají ukázka. Četnost ukázkových kolekcí se liší podle datové sady. Například často se měnící data, jako jsou čítače výkonu SQL, se můžou shromažďovat každých 10 sekund, zatímco se můžou shromažďovat většinou statická data, jako je konfigurace databáze, každých pět minut. Další informace najdete v tématu Datové sady.

Sledovací proces databáze využívá ingestování streamování v Azure Data Exploreru a analýzách v reálném čase v Microsoft Fabric k zajištění monitorování téměř v reálném čase. Shromážděná data monitorování SQL se obvykle zpřístupní pro generování sestav a analýzu za méně než 10 sekund. Latenci příjmu dat můžete monitorovat na řídicích panelech sledovacích procesů databáze pomocí odkazu Statistika příjmu dat.

Interakce mezi sledovacím procesem databáze a úlohami aplikací

Povolení sledovacího nástroje pro databáze pravděpodobně nebude mít pozorovatelný dopad na výkon úloh aplikace. Častější dotazy monitorování se obvykle spouštějí v podsekundovém rozsahu, zatímco dotazy, které můžou vyžadovat více času, například vrácení velkých datových sad, se spouštějí v občasných intervalech.

Aby se dále snížilo riziko dopadu na úlohy aplikací, všechny dotazy sledovacích procesů databáze ve službě Azure SQL Database se řídí prostředky jako interní úlohy. Pokud kolize prostředků existuje, spotřeba prostředků pomocí monitorovacích dotazů je omezená na malý zlomek celkových prostředků dostupných pro databázi. Tím se upřednostní úlohy aplikací před monitorovacími dotazy.

Aby nedocházelo ke konfliktům souběžnosti, jako jsou blokování a zablokování mezi shromažďováním dat a databázovými úlohami spuštěnými na prostředcích Azure SQL, používají monitorovací dotazy krátké časové limity uzamčení a nízkou prioritu zablokování. Pokud dojde ke konfliktu souběžnosti, priorita se udělí dotazům na úlohy aplikace.

Pokud je celkové využití prostředků vysoké nebo pokud dojde ke konfliktům souběžnosti, můžete v shromážděných datech pozorovat mezery. V těchto případech můžou být monitorovací dotazy zastaralé ve prospěch aplikačních úloh.

Shromažďování dat v elastických fondech

Pokud chcete monitorovat elastický fond, musíte určit jednu databázi ve fondu jako databázi ukotvení. Sledovací proces databáze se připojí k databázi ukotvení. Vzhledem k tomu, že sledovací proces obsahuje VIEW SERVER PERFORMANCE STATE oprávnění, systémová zobrazení v databázi ukotvení poskytují data monitorování pro fond jako celek.

Tip

Do každého elastického fondu, který chcete monitorovat, můžete přidat prázdnou databázi a určit ji jako ukotvenou databázi. Tímto způsobem můžete přesunout další databáze do fondu nebo mimo fond nebo mezi fondy, aniž byste přerušili monitorování elastického fondu.

Data shromážděná z databáze ukotvení obsahují metriky na úrovni fondu a určité metriky výkonu na úrovni databáze pro každou databázi ve fondu, například využití prostředků a metriky frekvence požadavků pro každou databázi. V některých scénářích může přidání cíle SQL elastického fondu pro monitorování elastického fondu jako celku usnadnit monitorování jednotlivých databází ve fondu.

Určitá data monitorování, jako je procesor na úrovni fondu, paměť, využití úložiště a statistika čekání, se shromažďují pouze na úrovni elastického fondu, protože se nedají přiřazovat jednotlivým databázím ve fondu. Naopak určitá další data, jako jsou statistiky modulu runtime dotazu, vlastnosti databáze, metadata tabulky a indexu, jsou k dispozici pouze v případě, že přidáte jednotlivé databáze jako cíle SQL.

Pokud jako cíle SQL přidáte jednotlivé databáze z elastického fondu, měli byste elastický fond přidat také jako cíl SQL. Tímto způsobem získáte ucelenější přehled o výkonu databáze a fondu.

Monitorování hustých elastických fondů

Hustý elastický fond obsahuje velký počet databází, ale má relativně malou velikost výpočetních prostředků. Tato konfigurace umožňuje zákazníkům dosáhnout značné úspory nákladů tím, že zajistí minimální alokaci výpočetních prostředků za předpokladu, že je aktivní jenom malý počet databází ve fondu současně.

Výpočetní prostředky dostupné pro dotazy sledovacího modulu databáze v hustě elastickém fondu jsou dále omezené, aby nedošlo k ovlivnění dotazů aplikace. Z tohoto důvodu nemusí sledovací proces databáze shromažďovat data monitorování z každé databáze v hustě elastickém fondu.

Tip

Pokud chcete monitorovat hustý elastický fond, povolte monitorování na úrovni fondu přidáním elastického fondu jako cíle SQL.

Nedoporučuje se monitorovat více než několik jednotlivých databází v hustě elastickém fondu. V shromážděných datech nebo větších než očekávaných intervalech mezi vzorky dat můžete vidět mezery kvůli nedostatečným výpočetním prostředkům dostupným pro dotazy sledovacího modulu databáze.

Umístění dat

Zákazníci se můžou rozhodnout ukládat shromážděná data monitorování SQL do jednoho ze tří typů úložiště dat:

  • Databáze v clusteru Azure Data Exploreru . Ve výchozím nastavení se pro každý nový sledovací proces vytvoří nový cluster Azure Data Exploreru a nachází se ve stejné oblasti Azure jako sledovací proces.

    Zákazníci můžou zvolit konkrétní oblast Azure v zeměpisné oblasti Azure jako umístění clusteru Azure Data Exploreru a databáze. Další informace o možnostech replikace dat v Azure Data Exploreru najdete v přehledu provozní kontinuity a zotavení po havárii.

  • Databáze v bezplatném clusteru Azure Data Exploreru.

    Zákazníci můžou zvolit konkrétní zeměpisnou oblast Azure, ale ne konkrétní oblast Azure jako umístění bezplatného clusteru Azure Data Exploreru a databáze. Replikace dat do jiné oblasti nebo zeměpisné oblasti se nepodporuje.

  • Databáze v analýze v reálném čase v Microsoft Fabric.

    Zákazníci nemohou zvolit zeměpisné umístění databáze.

Aby zákazníci mohli plně řídit rezidenci dat pro shromážděná data monitorování SQL, musí jako úložiště dat zvolit databázi v clusteru Azure Data Exploreru.

Zákazníci můžou sladit geografii a oblast clusteru Azure Data Exploreru se zeměpisnými oblastmi monitorovaných prostředků Azure SQL. Když se prostředky Azure SQL nacházejí ve více oblastech, zákazníci možná budou muset vytvořit několik sledovacích procesů a více clusterů Azure Data Exploreru, aby splnili požadavky na rezidenci dat.

Datové sady

Tato část popisuje datové sady dostupné pro každý cílový typ SQL, včetně četností shromažďování a názvů tabulek v úložišti dat.

Poznámka:

Během období Preview můžou být datové sady přidány a odebrány. Vlastnosti datové sady, jako je název, popis, frekvence shromažďování a dostupné sloupce, se můžou změnit.

Název datové sady Název tabulky Frekvence shromažďování (hh:mm:ss) Popis
Aktivní relace sqldb_database_active_sessions 00:00:30 Každý řádek představuje relaci, která spouští požadavek, je blokátorem nebo má otevřenou transakci.
Historie zálohování sqldb_database_sql_backup_history 00:05:00 Každý řádek představuje úspěšně dokončené zálohování databáze.
Zpracování změn sqldb_database_change_processing 00:01:00 Každý řádek představuje snímek agregované statistiky prohledávání protokolu pro funkci zpracování změn, jako je change data capture nebo kanál změn (Azure Synapse Link).
Chyby zpracování změn sqldb_database_change_processing_errors 00:01:00 Každý řádek představuje chybu, ke které došlo během zpracování změn při použití funkce zpracování změn, jako je záznam dat změn nebo kanál změn (Azure Synapse Link).
Připojení sqldb_database_connectivity 00:00:30 Každý řádek představuje sondu připojení (přihlášení a dotaz) pro databázi.
Geografické repliky sqldb_database_geo_replicas 00:00:30 Každý řádek představuje primární nebo sekundární geografickou repliku, včetně metadat geografické replikace a statistiky.
Metadata indexu sqldb_database_index_metadata 00:30:00 Každý řádek představuje oddíl indexu a zahrnuje definici indexu, vlastnosti a provozní statistiky.
Využití paměti sqldb_database_memory_utilization 00:00:10 Každý řádek představuje úředníka paměti a zahrnuje spotřebu paměti úředníkem v instanci databázového stroje.
Chybějící indexy sqldb_database_missing_indexes 00:15:00 Každý řádek představuje index, který může zvýšit výkon dotazů při vytváření.
Události mimo paměť sqldb_database_oom_events 00:01:00 Každý řádek představuje událost mimo paměť v databázovém stroji.
Čítače výkonu (běžné) sqldb_database_performance_counters_common 00:00:10 Každý řádek představuje čítač výkonu instance databázového stroje. Tato datová sada obsahuje běžně používané čítače.
Čítače výkonu (podrobné) sqldb_database_performance_counters_detailed 00:01:00 Každý řádek představuje čítač výkonu instance databázového stroje. Tato datová sada obsahuje čítače, které můžou být potřeba k podrobnému monitorování a řešení potíží.
Vlastnosti sqldb_database_properties 00:05:00 Každý řádek představuje databázi a zahrnuje možnosti databáze, omezení zásad správného řízení prostředků a další metadata databáze.
Statistika modulu runtime dotazu sqldb_database_query_runtime_stats 00:15:00 Každý řádek představuje interval modulu runtime úložiště dotazů a zahrnuje statistiky spouštění dotazů.
Statistika čekání dotazu sqldb_database_query_wait_stats 00:15:00 Každý řádek představuje interval modulu runtime úložiště dotazů a zahrnuje statistiky kategorií čekání.
Repliky sqldb_database_replicas 00:00:10 Každý řádek představuje repliku databáze, včetně metadat replikace a statistiky. Zahrnuje primární repliku a geografické repliky při shromažďování na primární a sekundární repliky, když jsou shromážděny na sekundárním serveru.
Využití zdroje sqldb_database_resource_utilization 00:00:15 Každý řádek představuje statistiku využití procesoru, vstupně-výstupních operací protokolů, vstupně-výstupních operací protokolu a dalších prostředků pro databázi v časovém intervalu.
Statistika relace sqldb_database_session_stats 00:01:00 Každý řádek představuje souhrn statistik relací pro databázi agregované atributy relace, jako jsou přihlašovací jméno, název hostitele, název aplikace atd.
Plánovače SOS sqldb_database_sos_schedulers 00:01:00 Každý řádek představuje plánovač SOS a obsahuje statistiky pro plánovač, uzel procesoru a paměťový uzel.
Vstupně-výstupní operace úložiště sqldb_database_storage_io 00:00:10 Každý řádek představuje databázový soubor a obsahuje kumulativní statistiky IOPS, propustnosti a latence souboru.
Využití úložiště sqldb_database_storage_utilization 00:01:00 Každý řádek představuje databázi a zahrnuje její využití úložiště, včetně tempdbúložiště dotazů a úložiště trvalých verzí.
Metadata tabulky sqldb_database_table_metadata 00:30:00 Každý řádek představuje tabulku nebo indexované zobrazení a obsahuje metadata, jako je počet řádků, využití místa, komprese dat, sloupce a omezení.
Statistika čekání sqldb_database_wait_stats 00:00:10 Každý řádek představuje typ čekání a obsahuje kumulativní statistiky čekání instance databázového stroje. Pro databáze v elastickém fondu se shromažďují pouze statistiky čekání v oboru databáze.

Poznámka:

U databází v elastickém fondu se neshromažďují datové sady databáze SQL obsahující data na úrovni fondu. To zahrnuje využití paměti, události mimo paměť, čítače výkonu (běžné) a čítače výkonu (podrobné) datové sady. Datová sada statistik čekání se shromažďuje, ale obsahuje pouze čekání v oboru databáze. Tím se zabrání shromažďování stejných dat z každé databáze ve fondu.

Data na úrovni fondu se shromažďují v datových sadách elastického fondu SQL. U daného elastického fondu obsahují čítače výkonu (běžné) a čítače výkonu (podrobné) metriky na úrovni fondu a určité metriky na úrovni databáze, jako jsou procesor, vstupně-výstupní operace dat, zápis protokolu, požadavky, transakce atd.

Běžné sloupce

Pro každý cílový typ SQL mají datové sady společné sloupce, jak je popsáno v následujících tabulkách.

Název sloupce Popis
subscription_id ID předplatného Azure databáze SQL.
resource_group_name Název skupiny prostředků databáze SQL.
resource_id ID prostředku Azure databáze SQL.
sample_time_utc Čas, kdy byly hodnoty v řádku pozorovány, v UTC.
collection_time_utc Čas, kdy byl řádek shromážděn sledovacím procesem, v UTC. Tento sloupec se nachází v datových sadách, kde se čas shromažďování může lišit od ukázkového času.
replica_type Jedna z těchto možností: primární, sekundární, sekundární geografická replikace, pojmenovaná sekundární.
logical_server_name Název logického serveru ve službě Azure SQL Database obsahující monitorovanou databázi nebo elastický fond.
database_name Název monitorované databáze.
database_id ID databáze monitorované databáze, jedinečné v rámci logického serveru.
logical_database_id Jedinečný identifikátor databáze, který po celou dobu životnosti uživatelské databáze zůstává beze změny. Přejmenování databáze nebo změna cíle služby tuto hodnotu nezmění.
physical_database_id Jedinečný identifikátor databáze pro aktuální fyzickou databázi odpovídající uživatelské databázi. Změna cíle databázové služby způsobí, že se tato hodnota změní.
replica_id Jedinečný identifikátor repliky výpočetních prostředků Hyperscale

Datová sada obsahuje sloupce sample_time_utc i collection_time_utc sloupce, pokud obsahuje vzorky pozorované před tím, než byl řádek shromážděn sledovacím procesem databáze. V opačném případě je čas pozorování a čas shromažďování stejný a datová sada obsahuje pouze sample_time_utc sloupec.

Datová sada je například sqldb_database_resource_utilization odvozena z sys.dm_db_resource_stats zobrazení dynamické správy (DMV). Zobrazení dynamické správy obsahuje end_time sloupec, což je čas pozorování pro každý řádek, který hlásí agregované statistiky prostředků pro 15sekundový interval. Tento čas se zobrazí ve sloupci sample_time_utc . Když sledovací proces databáze dotazuje toto zobrazení dynamické správy, sada výsledků může obsahovat více řádků, z nichž každá má jiný end_time. Všechny tyto řádky mají stejnou collection_time_utc hodnotu.