Posouzení osvědčených postupů SQL pro SQL Server na virtuálních počítačích Azure

Platí pro:SQL Server na virtuálním počítači Azure

Funkce posouzení osvědčených postupů SQL na webu Azure Portal identifikuje možné problémy s výkonem a vyhodnocuje, že sql Server na virtuálních počítačích Azure je nakonfigurovaný tak, aby dodržoval osvědčené postupy s využitím bohaté sady pravidel poskytovaných rozhraním SQL Assessment API.

Další informace najdete v tomto videu o posouzení osvědčených postupů SQL:

Přehled

Jakmile je funkce posouzení osvědčených postupů SQL povolená, vaše instance a databáze SQL Serveru se zkontrolují a poskytnou doporučení pro indexy, zastaralé funkce, povolené nebo chybějící příznaky trasování, statistiky atd. Doporučení se zobrazují na stránce správy virtuálních počítačů SQL na webu Azure Portal.

Výsledky posouzení se nahrají do pracovního prostoru služby Log Analytics pomocí agenta služby Azure Monitor (AMA). Rozšíření AMA se nainstaluje na virtuální počítač s SQL Serverem, pokud ještě není nainstalované, a prostředky AMA jako DCE se vytvoří a připojí k zadanému pracovnímu prostoru služby Log Analytics.

Doba běhu posouzení závisí na vašem prostředí (počet databází, objektů atd.) s dobou trvání od několika minut až do hodiny. Podobně velikost výsledku posouzení závisí také na vašem prostředí. Posouzení běží na vaší instanci a ve všech databázích v této instanci. V našem testování jsme zjistili, že spuštění posouzení může mít až 5 až 10% dopad na procesor na počítač. V těchto testech se posouzení provedlo, když byla aplikace typu TPC-C spuštěna na SQL Serveru.

Požadavky

Pokud chcete použít funkci posouzení osvědčených postupů SQL, musíte mít následující požadavky:

  • Virtuální počítač s SQL Serverem musí být zaregistrovaný v rozšíření SQL Server IaaS.
  • Pracovní prostor služby Log Analytics ve stejném předplatném jako virtuální počítač s SQL Serverem pro nahrání výsledků posouzení do.
  • SQL Server musí mít verzi 2012 nebo vyšší.

Povolit

Hodnocení osvědčených postupů SQL můžete povolit pomocí webu Azure Portal nebo Azure CLI.

Pokud chcete povolit hodnocení osvědčených postupů SQL pomocí webu Azure Portal, postupujte takto:

  1. Přihlaste se k webu Azure Portal a přejděte k prostředku virtuálního počítače s SQL Serverem.
  2. V části Nastavení vyberte posouzení osvědčených postupů SQL.
  3. Výběrem možnosti Povolit posouzení osvědčených postupů SQL nebo Konfigurace přejděte na stránku Konfigurace .
  4. Zaškrtněte políčko Povolit posouzení osvědčených postupů SQL a zadejte následující:
    1. Pracovní prostor služby Log Analytics, do kterého se hodnocení nahrají. V rozevíracím seznamu zvolte existující pracovní prostor v předplatném.
    2. Zvolte skupinu prostředků, ve které se vytvoří prostředky agenta Služby Azure Monitor DCE a DCR . Pokud zadáte stejnou skupinu prostředků napříč několika virtuálními počítači s SQL Serverem, budou tyto prostředky znovu použity.
    3. Plán spuštění Můžete se rozhodnout spustit hodnocení na vyžádání nebo automaticky podle plánu. Pokud zvolíte plán, zadejte frekvenci (týdně nebo měsíčně), den v týdnu, opakování (každých 1 až 6 týdnů) a čas, kdy se má posouzení spustit (místní čas virtuálního počítače).
  5. Výběrem možnosti Použít uložte změny a nasaďte agenta Služby Azure Monitor na virtuální počítač s SQL Serverem, pokud ještě není nasazený. Jakmile je funkce posouzení osvědčených postupů SQL připravená na virtuální počítač s SQL Serverem, zobrazí se oznámení webu Azure Portal.

Posouzení virtuálního počítače s SQL Serverem

Spuštění posouzení:

  • Podle plánu
  • Na vyžádání

Spuštění naplánovaného posouzení

Posouzení můžete nakonfigurovat podle plánu pomocí webu Azure Portal a Azure CLI.

Pokud v podokně konfigurace nastavíte plán, spustí se posouzení automaticky v zadaném datu a čase. Zvolte Možnost Konfigurace a upravte plán posouzení. Jakmile zadáte nový plán, předchozí plán se přepíše.

Spustit hodnocení na vyžádání

Jakmile je pro virtuální počítač s SQL Serverem povolená funkce posouzení osvědčených postupů SQL, je možné spustit posouzení na vyžádání pomocí webu Azure Portal nebo Azure CLI.

Pokud chcete spustit posouzení na vyžádání pomocí webu Azure Portal, vyberte Spustit posouzení z podokna posouzení osvědčených postupů SQL na stránce prostředku virtuálního počítače s SQL Serverem na webu Azure Portal.

Zobrazení výsledků

V části Výsledky posouzení na stránce posouzení osvědčených postupů SQL se zobrazuje seznam nejnovějších spuštění posouzení. Každý řádek zobrazuje čas spuštění a stav – naplánované, spuštěné, nahrání výsledků, dokončení nebo selhání. Každé spuštění posouzení má dvě části: vyhodnotí vaši instanci a nahraje výsledky do pracovního prostoru služby Log Analytics. Pole stavu zahrnuje obě části. Výsledky posouzení se zobrazují v sešitech Azure.

Přístup k výsledkům posouzení v sešitu Azure třemi způsoby:

  • Na stránce posouzení osvědčených postupů SQL vyberte tlačítko Zobrazit nejnovější úspěšné posouzení.
  • V části Výsledky posouzení na stránce posouzení osvědčených postupů SQL zvolte dokončené spuštění.
  • V horních 10 doporučeních zobrazených na stránce Přehled vašeho prostředku virtuálního počítače SQL vyberte Zobrazit výsledky posouzení.

Po otevření sešitu můžete pomocí rozevíracího seznamu vybrat předchozí spuštění. Výsledky jednoho spuštění můžete zobrazit na stránce Výsledky nebo pomocí stránky Trendy zkontrolovat historické trendy.

Stránka výsledků

Stránka Výsledky uspořádá doporučení pomocí karet pro vše, nové, vyřešené. Pomocí těchto karet můžete zobrazit všechna doporučení z aktuálního spuštění, všechna nová doporučení (rozdíl oproti předchozím spuštěním) nebo vyřešená doporučení z předchozích spuštění. Karty vám pomůžou sledovat průběh mezi běhy. Karta Přehledy identifikuje nejopakovanější problémy a databáze s největšími problémy. Použijte je k rozhodnutí, kam se soustředit vaše úsilí.

Posouzení skupin grafů vede k různým kategoriím závažnosti – vysoká, střední, nízká a informace. Výběrem každé kategorie zobrazíte seznam doporučení nebo vyhledáte klíčové fráze ve vyhledávacím poli. Nejlepší je začít s nejvýraznějšími doporučeními a přejít na seznam.

První mřížka ukazuje každé doporučení a počet instancí, na které vaše prostředí narazilo. Když vyberete řádek v první mřížce, zobrazí se v druhé mřížce seznam všech instancí tohoto konkrétního doporučení. Pokud v první mřížce není žádný výběr, zobrazí se ve druhé mřížce všechna doporučení. Může to být velký seznam. K filtrování výsledků můžete použít rozevírací seznam nad mřížkou (Název, Závažnost, Značky, Id kontroly). Pomocí možnosti Exportovat do Excelu a Otevření posledního dotazu spuštění v možnostech zobrazení protokolů můžete vybrat malé ikony v pravém horním rohu každé mřížky.

Předaná část grafu identifikuje doporučení, která už systém sleduje.

Podrobné informace o jednotlivých doporučeních zobrazíte tak , že vyberete pole Zpráva , například dlouhý popis a relevantní online zdroje.

Na stránce Trendy jsou tři grafy, které zobrazují změny v průběhu času: všechny problémy, nové problémy a vyřešené problémy. Grafy vám pomůžou zobrazit průběh. V ideálním případě by se měl počet doporučení snížit, zatímco počet vyřešených problémů se zhoršuje. Legenda zobrazuje průměrný počet problémů pro každou úroveň závažnosti. Najeďte myší na pruhy, abyste viděli jednotlivé vale pro každé spuštění.

Pokud v jednom dni existuje více spuštění, do grafů na stránce Trendy se zahrne jenom nejnovější spuštění.

Povolení pro všechny virtuální počítače v předplatném

Pomocí Azure CLI můžete povolit funkci posouzení osvědčených postupů SQL na všech virtuálních počítačích s SQL Serverem v rámci předplatného. K tomu použijte následující ukázkový skript:

# This script is formatted for use with Az CLI on Windows PowerShell. You may need to update the script for use with Az CLI on other shells.
# This script enables SQL best practices assessment feature for all SQL Servers on Azure VMs in a given subscription. It configures the VMs to use a Log Analytics workspace to upload assessment results. It sets a schedule to start an assessment run every Sunday at 11pm (local VM time).
# Please note that if a VM is already associated with another Log Analytics workspace, it will give an error.
 
$subscriptionId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
# Resource Group where the Log Analytics workspace belongs
$myWsRg = 'myWsRg'
# Log Analytics workspace where assessment results will be stored
$myWsName = 'myWsName'
# Resource Group where the Azure Monitor Agent resources will be created
$myAgentRg = 'myAgentRg'
 
# Ensure in correct subscription
az account set --subscription $subscriptionId
 
$sqlvms = az sql vm list | ConvertFrom-Json 
 
foreach ($sqlvm in $sqlvms)
{
  echo "Configuring feature on $($sqlvm.id)"
  az sql vm update --assessment-weekly-interval 1 --assessment-day-of-week Sunday --assessment-start-time-local "23:00" --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name
  
  # Alternatively you can use this command to only enable the feature without setting a schedule
  # az sql vm update --enable-assessment true --workspace-name $myWsName --workspace-rg $myWsRg -g $sqlvm.resourceGroup --agent-rg $myAgentRg -n $sqlvm.name  
 
  # You can use this command to start an on-demand assessment on each VM
  # az sql vm start-assessment -g $sqlvm.resourceGroup -n $sqlvm.name
}

Známé problémy

Při používání posouzení osvědčených postupů SQL můžete narazit na některé z následujících známých problémů.

Migrace z agenta Microsoft Monitoring Agent (MMA) na agenta služby Azure Monitor (AMA)

Dříve funkce posouzení osvědčených postupů SQL použila MMA k nahrání posouzení do pracovního prostoru služby Log Analytics. MMA se vyřadí z důchodu. Tato funkce teď k nahrání hodnocení používá AMA. Pokud jste v minulosti povolili hodnocení osvědčených postupů SQL pomocí MMA, můžete snadno migrovat do AMA tak, že nejdřív tuto funkci zakážete a pak ji znovu povolíte. Vaše stávající výsledky budou i nadále dostupné po operaci zakázání/povolení, pokud zadáte stejný pracovní prostor služby Log Analytics. Pokud ji nepoužívají jiné služby, můžete v tomto okamžiku agenta Microsoft Monitoring Agent odebrat podle těchto pokynů. Před migrací se ujistěte, že je služba Azure Monitor Log Analytics podporovaná v oblasti, ve které se nachází váš virtuální počítač s SQL Serverem pomocí tabulky propojené sem.

Selhání nasazení pro povolení nebo spuštění posouzení

Pokud chcete zobrazit chybovou zprávu přidruženou k neúspěšné akci, projděte si historii nasazení skupiny prostředků obsahující virtuální počítač SQL.

Neúspěšná posouzení

Pokud se posouzení nebo nahrání výsledků z nějakého důvodu nezdařilo, stav tohoto spuštění značí selhání. Kliknutím na stav otevřete kontextové podokno, ve kterém uvidíte podrobnosti o selhání a možné způsoby řešení problému.

Tip

Pokud jste vynucovali protokol TLS 1.0 nebo vyšší ve Windows a zakázali starší protokoly SSL, jak je popsáno zde, musíte také zajistit, aby rozhraní .NET Framework bylo nakonfigurované tak, aby používalo silnou kryptografii.

Další kroky