Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: Azure SQL Database, Azure SQL Managed Instance
Försiktighet
Azure SQL Analytics (förhandsversion) är en integrering med Azure Monitor, där många övervakningslösningar inte längre är i aktiv utveckling. Fler övervakningsalternativ finns i Övervakning och prestandajustering i Azure SQL Database och Azure SQL Managed Instance.
Azure SQL Analytics (förhandsversion) är en avancerad molnövervakningslösning för att övervaka prestanda för alla dina Azure SQL-databaser i stor skala och över flera prenumerationer i en enda vy. Azure SQL Analytics samlar in och visualiserar viktiga prestandamått med inbyggd intelligens för prestandafelsökning.
Genom att använda dessa insamlade mått kan du skapa anpassade övervakningsregler och aviseringar. Azure SQL Analytics hjälper dig att identifiera problem på varje lager i programstacken. Azure SQL Analytics använder Azure Diagnostics-mått tillsammans med Azure Monitor-vyer för att presentera data om alla dina Azure SQL-databaser på en enda Log Analytics-arbetsyta. Azure Monitor hjälper dig att samla in, korrelera och visualisera strukturerade och ostrukturerade data.
Anslutna källor
Azure SQL Analytics är en molnbaserad övervakningslösning som stöder strömning av diagnostiktelemetri för alla dina Azure SQL-databaser. Eftersom Azure SQL Analytics inte använder agenter för att ansluta till Azure Monitor stöder det inte övervakning av SQL Server som finns lokalt eller på virtuella datorer.
| Ansluten källa | Understödd | Beskrivning | 
|---|---|---|
| Diagnostikinställningar | Ja | Azure-mått och loggdata skickas direkt från Azure till Azure Monitor-loggar. | 
| Azure Storage-konto | Nej | Azure Monitor läser inte data från ett lagringskonto. | 
| Windows-agenter | Nej | Direct Windows-agenter används inte av Azure SQL Analytics. | 
| Linux-agenter | Nej | Direct Linux-agenter används inte av Azure SQL Analytics. | 
| System Center Operations Manager-hanteringsgrupp | Nej | En direktanslutning från Operations Manager-agenten till Azure Monitor används inte av Azure SQL Analytics. | 
Azure SQL Analytics-alternativ
I tabellen nedan beskrivs alternativ som stöds för två versioner av Azure SQL Analytics-instrumentpanelen, en för Azure SQL Database och den andra för Azure SQL Managed Instance-databaser.
| Azure SQL Analytics-alternativ | Beskrivning | SQL Database-stöd | Stöd för SQL Managed Instance | 
|---|---|---|---|
| Resurs efter typ | Perspektiv som räknar alla resurser som övervakas. | Ja | Ja | 
| Insikter | Ger hierarkisk fördjupning av Intelligent Insights för prestanda. | Ja | Ja | 
| Felaktigheter | Ger hierarkisk detaljnivå i SQL-fel som har inträffat på databaserna. | Ja | Ja | 
| Timeout | Ger hierarkisk nedbrytning av SQL-tidsgränsöverträdelse som har inträffat i databaserna. | Ja | Nej | 
| Blockeringar | Ger hierarkisk detaljnivå i SQL-blockeringar som har inträffat på databaserna. | Ja | Nej | 
| Databasväntetider | Ger hierarkisk detaljnivå i SQL-väntestatistik på databasnivå. Innehåller sammanfattningar av total väntetid och väntetid per väntetyp. | Ja | Nej | 
| Frågevaraktighet | Ger hierarkisk detaljnivå i frågekörningsstatistiken, till exempel frågevaraktighet, CPU-användning, data-I/O-användning, logg-I/O-användning. | Ja | Ja | 
| Frågväntetider | Ger hierarkisk detaljnivå i frågeväntestatistiken efter väntekategori. | Ja | Ja | 
Konfiguration av Azure SQL Analytics (förhandsversion)
Använd den process som beskrivs i Lägg till Azure Monitor-lösningar från lösningsgalleriet för att lägga till Azure SQL Analytics (förhandsversion) på din Log Analytics-arbetsyta.
Konfigurera Azure SQL Database för att strömma diagnostiktelemetri
När du har skapat En Azure SQL Analytics-lösning på din arbetsyta måste du konfigurera varje resurs som du vill övervaka för att strömma diagnostiktelemetrin till Azure SQL Analytics. Följ detaljerade instruktioner på den här sidan:
- Aktivera Azure Diagnostics för databasen för att strömma diagnostiktelemetri till Azure SQL Analytics.
Ovanstående sida innehåller också instruktioner om hur du aktiverar stöd för övervakning av flera Azure-prenumerationer från en enda Azure SQL Analytics-arbetsyta som en enda fönsterruta.
Använda Azure SQL Analytics (förhandsversion)
Gå till din SQL Analytics-driftsättning från sidan Legacy-lösningar på Log Analytics-arbetsytan.
Azure SQL Analytics innehåller två separata vyer: en för övervakning av SQL Database och den andra vyn för övervakning av SQL Managed Instance.
Visa Azure SQL Analytics-data
Instrumentpanelen innehåller översikten över alla databaser som övervakas via olika perspektiv. För att olika perspektiv ska fungera måste du aktivera korrekta mått eller loggar på dina SQL-resurser som ska strömmas till Log Analytics-arbetsytan.
Om vissa mått eller loggar inte strömmas till Azure Monitor fylls panelerna i Azure SQL Analytics inte med övervakningsinformation.
SQL Database-vy
När Azure SQL Analytics-panelen för databasen har valts visas instrumentpanelen för övervakning.
               
              
            
Om du väljer någon av panelerna öppnas en rapport med ökad detaljnivå i det specifika perspektivet. När perspektivet har valts öppnas rapporten för ökad detaljnivå.
               
              
            
Varje perspektiv i den här vyn innehåller sammanfattningar på prenumerations-, server-, elastiska pool- och databasnivå. Dessutom visar varje perspektiv ett perspektiv som är specifikt för rapporten till höger. Genom att välja prenumeration, server, pool eller databas i listan fördjupar du utforskningen.
SQL Managed Instance-vy
När Azure SQL Analytics-panelen för databaserna har valts visas övervakningsöversikten.
               
              
            
Om du väljer någon av panelerna öppnas en rapport med ökad detaljnivå i det specifika perspektivet. När perspektivet har valts öppnas rapporten för ökad detaljnivå.
Om du väljer vyn SQL Managed Instance visas information om instansanvändning, instansdatabaser och telemetri för de frågor som körs i den hanterade instansen.
               
              
            
Intelligent Insights-rapport
Med Azure SQL Database Intelligent Insights får du veta vad som händer med prestanda för alla Azure SQL-databaser. Alla intelligenta insikter som samlas in kan visualiseras och nås via Insights-perspektivet.
               
              
            
Elastiska pooler och databasrapporter
Både elastiska pooler och databaser har egna specifika rapporter som visar alla data som samlas in för resursen under den angivna tiden.
               
              
            
               
              
            
Frågerapporter
Genom frågevaraktigheten och frågevänteperspektiven kan du korrelera prestanda för alla frågor via frågerapporten. Den här rapporten jämför frågeprestanda mellan olika databaser och gör det enkelt att hitta databaser som utför den valda frågan väl jämfört med de som är långsamma.
               
              
            
Behörigheter
Om du vill använda Azure SQL Analytics (förhandsversion) måste användarna beviljas en minsta behörighet för rollen Läsare i Azure. Den här rollen tillåter dock inte att användarna ser frågetexten eller utför automatiska justeringsåtgärder. Fler tillåtande roller i Azure som tillåter användning av Azure SQL Analytics i största utsträckning är ägare, deltagare, SQL DB-deltagare eller SQL Server-deltagare. Du kanske också vill skapa en anpassad roll i portalen med specifika behörigheter som endast krävs för att använda Azure SQL Analytics och utan åtkomst till att hantera andra resurser.
Skapa en anpassad roll i portalen
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera Azure PowerShell från AzureRM till Az.
Med tanke på att vissa organisationer tillämpar strikta behörighetskontroller i Azure hittar du följande PowerShell-skript som möjliggör skapandet av en anpassad roll "SQL Analytics Monitoring Operator" i Azure-portalen med den lägsta läs- och skrivbehörighet som krävs för att använda Azure SQL Analytics i sin fulla utsträckning.
Ersätt {SubscriptionId} i skriptet nedan med ditt Azure-prenumerations-ID och kör skriptet som loggas in som en ägar- eller deltagarroll i Azure.
 Connect-AzAccount
 Select-AzSubscription {SubscriptionId}
 $role = Get-AzRoleDefinition -Name Reader
 $role.Name = "SQL Analytics Monitoring Operator"
 $role.Description = "Lets you monitor database performance with Azure SQL Analytics as a reader. Does not allow change of resources."
 $role.IsCustom = $true
 $role.Actions.Add("Microsoft.SQL/servers/databases/read");
 $role.Actions.Add("Microsoft.SQL/servers/databases/topQueries/queryText/*");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/write");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/advisors/recommendedActions/write");
 $role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/read");
 $role.Actions.Add("Microsoft.Sql/servers/databases/automaticTuning/write");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/read");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/write");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/read");
 $role.Actions.Add("Microsoft.Sql/servers/advisors/recommendedActions/write");
 $role.Actions.Add("Microsoft.Resources/deployments/write");
 $role.AssignableScopes = "/subscriptions/{SubscriptionId}"
 New-AzRoleDefinition $role
När den nya rollen har skapats tilldelar du den här rollen till varje användare som du behöver bevilja anpassade behörigheter för att använda Azure SQL Analytics.
Analysera data och skapa aviseringar
Dataanalys i Azure SQL Analytics baseras på Log Analytics-språk för din anpassade frågor och rapportering. Hitta en beskrivning av tillgängliga data som samlas in från databasresursen för anpassade frågor i tillgängliga mått och loggar.
Automatiserad avisering i Azure SQL Analytics baseras på att skriva en Log Analytics-fråga som utlöser en avisering när ett villkor uppfylls. Nedan finns flera exempel på Log Analytics-frågor där aviseringar kan konfigureras i Azure SQL Analytics.
Skapa aviseringar för Azure SQL Database
Du kan enkelt skapa aviseringar med data som kommer från Azure SQL Database-resurser. Här följer några användbara loggfrågor som du kan använda med en loggavisering:
Hög CPU
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/DATABASES/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att övervakade databaser strömmar grundläggande mått till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Ersätt MetricName-värdet cpu_percentmeddtu_consumption_percentför att få höga DTU-resultat i stället.
Hög CPU på elastiska pooler
AzureMetrics
| where ResourceProvider=="MICROSOFT.SQL"
| where ResourceId contains "/ELASTICPOOLS/"
| where MetricName=="cpu_percent"
| summarize AggregatedValue = max(Maximum) by bin(TimeGenerated, 5m)
| render timechart
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att övervakade databaser strömmar grundläggande mått till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Ersätt MetricName-värdet cpu_percentmeddtu_consumption_percentför att få höga DTU-resultat i stället.
Lagring i genomsnitt över 95% under de senaste 1 tim
let time_range = 1h;
let storage_threshold = 95;
AzureMetrics
| where ResourceId contains "/DATABASES/"
| where MetricName == "storage_percent"
| summarize max_storage = max(Average) by ResourceId, bin(TimeGenerated, time_range)
| where max_storage > storage_threshold
| distinct ResourceId
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att övervakade databaser strömmar grundläggande mått till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Den här frågan kräver att en aviseringsregel konfigureras för att utlösa en avisering när det finns resultat (> 0 resultat) från frågan, vilket anger att villkoret finns på vissa databaser. Utdata är en lista över databasresurser som är ovanför storage_threshold-gränsen inom dettime_range-definierade området.
- Utdata är en lista över databasresurser som är ovanför storage_threshold-gränsen inom dettime_range-definierade området.
Avisering om intelligenta insikter
Viktigt!
Om en databas fungerar bra och inga Intelligent Insights har genererats misslyckas den här frågan med ett felmeddelande: Det gick inte att matcha skalärt uttryck med namnet rootCauseAnalysis_s. Det här beteendet förväntas för alla fall där det inte finns några intelligenta insikter för databasen.
let alert_run_interval = 1h;
let insights_string = "hitting its CPU limits";
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| where TimeGenerated > ago(alert_run_interval)
| where rootCauseAnalysis_s contains insights_string
| distinct ResourceId
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att övervakade databaser strömmar SQLInsights-diagnostikloggen till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Den här frågan kräver att en aviseringsregel konfigureras för att köras med samma frekvens som alert_run_intervalför att undvika duplicerade resultat. Regeln bör konfigureras för att utlösa aviseringen när det finns resultat (> 0 resultat) från frågan.
- 
              alert_run_intervalAnpassa för att ange tidsintervallet för att kontrollera om villkoret har inträffat på databaser som konfigurerats för att strömma SQLInsights-loggen till Azure SQL Analytics.
- Anpassa insights_string för att samla in utdata från rotorsaksanalystexten i Insights. Det här är samma text som visas i användargränssnittet för Azure SQL Analytics som du kan använda från de befintliga insikterna. Du kan också använda frågan nedan för att se texten för alla insikter som genereras i din prenumeration. Använd utdata från frågan för att hämta de distinkta strängarna för att konfigurera aviseringar i Insights.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s
Skapa aviseringar för SQL Managed Instance
Lagringen är över 90%
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
   by ResourceId
| where calculated_storage_percentage > storage_percentage_threshold
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att den övervakade hanterade instansen har strömning av ResourceUsageStats-loggen aktiverad till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Den här frågan kräver att en aviseringsregel konfigureras för att utlösa en avisering när det finns resultat (> 0 resultat) från frågan, vilket anger att villkoret finns på den hanterade instansen. Uttaget är lagringsförbrukning i procent på den hanterade instansen.
Genomsnittlig cpu-förbrukning är över 95% under de senaste 1 tim
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by ResourceId
| where avg_cpu > cpu_percentage_threshold
Anmärkning
- Förhandskravet för att konfigurera den här aviseringen är att den övervakade hanterade instansen har strömning av ResourceUsageStats-loggen aktiverad till Log Analytics-arbetsytan som används av Azure SQL Analytics.
- Den här frågan kräver att en aviseringsregel konfigureras för att utlösa en avisering när det finns resultat (> 0 resultat) från frågan, vilket anger att villkoret finns på den hanterade instansen. Utdata är genomsnittlig cpu-användningsprocentförbrukning under den definierade perioden på den hanterade instansen.
Prissättning
Även om Azure SQL Analytics (förhandsversion) är gratis att använda, tillkommer kostnader för förbrukning av diagnostiktelemetri utöver de kostnadsfria enheter för datainmatning som allokeras per månad, se Log Analytics-priser. De kostnadsfria datainmatningsenheterna möjliggör kostnadsfri övervakning av flera databaser varje månad. Mer aktiva databaser med tyngre arbetsbelastningar matar in mer data jämfört med inaktiva databaser. Du kan enkelt övervaka datainmatningsförbrukningen i Azure SQL Analytics genom att välja OMS-arbetsyta på navigeringsmenyn i Azure SQL Analytics och sedan välja Användning och uppskattade kostnader.
Nästa steg
- Använd loggfrågor i Azure Monitor för att visa detaljerade Azure SQL-data.
- Skapa egna instrumentpaneler som visar Azure SQL-data.
- Skapa aviseringar när specifika Azure SQL-händelser inträffar.
- Övervaka Azure SQL Database med Azure Monitor
- Övervaka Azure SQL Managed Instance med Azure Monitor