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 je DCE, se dcR 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 2012 nebo novější

Oprávnění

Pokud chcete povolit hodnocení osvědčených postupů SQL, potřebujete následující oprávnění:

  • Přispěvatel virtuálních počítačů na podkladovém prostředku virtuálního počítače.
  • Přispěvatel virtuálních počítačů na prostředku virtuálních počítačů SQL
  • Přispěvatel Log Analytics ve skupině prostředků, která obsahuje pracovní prostor služby Log Analytics.
  • Čtenář ve skupině prostředků, ve které se vytvářejí prostředky agenta služby Azure Monitor. Pokud povolíte funkci posouzení osvědčených postupů SQL, zkontrolujte možnost konfigurace pro skupinu prostředků.

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ích počítačů SQL.
  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í na 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ředků virtuálních počítačů SQL 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: Všechna doporučení z aktuálního spuštění
  • Nové: Nová doporučení (rozdíl oproti předchozím spuštěním)
  • Vyřešeno: Vyřešená doporučení z předchozích spuštění
  • Přehledy: Identifikuje nejopakovanější problémy a databáze s největšími problémy.

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í ve vašem prostředí, u nichž došlo k tomuto problému. 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í, která by mohla být dlouhý 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 na agenta Služby Azure Monitor (AMA)

Dříve funkce posouzení osvědčených postupů SQL používala k nahrání hodnocení do pracovního prostoru služby Log Analytics agenta Microsoft Monitoring Agent (MMA). Microsoft Monitoring Agent byl nahrazen agentem služby Azure Monitor (AMA). Pokud chcete migrovat stávající hodnocení osvědčených postupů SQL z MMA do AMA, musíte virtuální počítač s SQL Serverem odstranit a zaregistrovat znovu s rozšířením. Po povolení posouzení budou vaše stávající výsledky stále dostupné. Pokud MMA nepoužívá jiné služby, můžete ho odebrat. Před migrací se ujistěte, že je služba Azure Monitor Log Analytics podporovaná v oblasti , ve které je virtuální počítač s SQL Serverem nasazený.

Nepovedlo se povolit 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.

Spuštění posouzení se nezdařilo.

Zkontrolujte stav spuštění posouzení na webu Azure Portal. Pokud je stav neúspěšný, vyberte stav a zobrazte chybovou zprávu. Můžete se také přihlásit k virtuálnímu počítači a zkontrolovat podrobné chybové zprávy o neúspěšných posouzeních v protokolu rozšíření, kde C:\WindowsAzure\Logs\Plugins\Microsoft.SqlServer.Management.SqlIaaSAgent\2.0.X.Y2.0.X.Y je verze rozšíření.

Pokud máte problémy se spuštěním posouzení:

  • Ujistěte se, že vaše prostředí splňuje všechny požadavky.
  • Ujistěte se, že je na virtuálním počítači spuštěná služba agenta SQL IaaS a rozšíření agenta SQL IaaS je v pořádku. Pokud rozšíření agenta SQL IaaS není v pořádku, opravte rozšíření , abyste vyřešili případné problémy, a upgradujte ho na nejnovější verzi bez výpadků SQL Serveru.
  • Pokud se zobrazí selhání NT SERVICE\SqlIaaSExtensionQuerypřihlášení, ujistěte se, že účet existuje na SQL Serveru s oprávněním Server permission - CONTROL SERVER .

Nedaří se nahrát výsledek do pracovního prostoru služby Log Analytics

Tato chyba značí, že agent Microsoft Monitoring Agent (MMA) nemohl nahrát výsledky v očekávaném časovém rámci.

Pokud se vám nedaří nahrát výsledky do pracovního prostoru služby Log Analytics, zkuste následující:

  • Povolte spravovanou identitu přiřazenou systémem pro virtuální počítač a potom znovu povolte funkci posouzení osvědčených postupů.
  • Pokud problém přetrvává, zkuste následující:

Chyby odkazující na nesprávnou konfiguraci TLS při použití služby Log Analytics

K nejběžnější chybě PROTOKOLU TLS dochází v případě, že rozšíření Microsoft Monitoring Agent (MMA) nemůže při připojování ke koncovému bodu Log Analytics navázat metodu handshake PROTOKOLU SSL, což se obvykle stává v případě, že registr nebo objekt zásad služby GPO vynucuje protokol TLS 1.0 na úrovni operačního systému, ale neaktualizuje se pro rozhraní .NET Framework. Pokud jste ve Windows vynucovali protokol TLS 1.0 nebo vyšší a zakázali starší protokoly SSL, jak je popsáno v klíčích registru specifických pro Schannel, musíte také zajistit, aby rozhraní .NET Framework bylo nakonfigurované tak, aby používalo silnou kryptografii.

Po nakonfigurování řešení SQL Assessment není možné změnit pracovní prostor služby Log Analytics

Po přidružení virtuálního počítače k pracovnímu prostoru služby Log Analytics už v prostředku virtuálního počítače SQL není možné provést jeho změnu. To má zabránit využití nástroje Log Analytics pro jiné případy použití. Virtuální počítač můžete odpojit pomocí okna prostředku Log Analytics na stránce Virtuální počítače na webu Azure Portal.

Platnost výsledku vypršela kvůli uchovávání dat v pracovním prostoru služby Log Analytics

To znamená, že výsledky se už v pracovním prostoru služby Log Analytics nezachovají na základě zásad uchovávání informací. Dobu uchování pro daný pracovní prostor můžete změnit.