Ajánlott SQL-eljárások értékelése azure-beli virtuális gépeken futó SQL Serverhez

A következőre vonatkozik:SQL Server azure-beli virtuális gépen

Az Azure Portal SQL ajánlott eljárásokkal kapcsolatos értékelési funkciója azonosítja a lehetséges teljesítményproblémákat, és kiértékeli, hogy az Sql Server azure-beli virtuális gépeken (VM-eken) konfigurálva van-e az ajánlott eljárások követésére az SQL Assessment API által biztosított részletes szabálykészlet használatával.

További információkért tekintse meg ezt a videót az SQL ajánlott eljárásainak felméréséről:

Áttekintés

Ha engedélyezve van az SQL ajánlott eljárásokat értékelő funkciója, a rendszer ellenőrzi az SQL Server-példányt és az adatbázisokat, hogy javaslatokat tegyen például az indexekre, az elavult funkciókra, az engedélyezett vagy hiányzó nyomkövetési jelzőkre, statisztikákra stb. A javaslatok az Azure Portal SQL virtuálisgép-felügyeleti oldalán jelennek meg.

Az értékelési eredmények az Azure Monitor Agent (AMA) használatával kerülnek feltöltésre a Log Analytics-munkaterületre. Az AMA-bővítmény telepítve van az SQL Server virtuális gépre, ha még nincs telepítve, és az AMA-erőforrások, például a DCE, a DCR létrejönnek, és csatlakoznak a megadott Log Analytics-munkaterülethez.

Az értékelés futási ideje a környezettől (adatbázisok, objektumok száma stb.) függ, néhány perctől akár egy óráig. Hasonlóképpen az értékelési eredmény mérete is a környezetétől függ. Az értékelés a példányon és az adott példányon lévő összes adatbázison fut. A tesztelés során megfigyeltük, hogy az értékelési futtatás akár 5–10%-os processzorterhelést is okozhat a gépre. Ezekben a tesztekben az értékelés egy TPC-C-hez hasonló alkalmazás sql serveren való futtatásakor történt.

Előfeltételek

Az SQL ajánlott eljárások felmérési funkciójának használatához a következő előfeltételekkel kell rendelkeznie:

Enable

Az SQL ajánlott eljárásainak felmérését az Azure Portalon vagy az Azure CLI-vel engedélyezheti.

Ha az Azure Portallal szeretné engedélyezni az SQL ajánlott eljárásainak értékelését, kövesse az alábbi lépéseket:

  1. Jelentkezzen be az Azure Portalra, és nyissa meg az SQL Server virtuálisgép-erőforrást.
  2. Válassza ki az SQL ajánlott eljárásainak értékelését a Beállítások területen.
  3. A Konfiguráció lapra való navigáláshoz válassza az AJÁNLOTT SQL-eljárások engedélyezése vagya Konfiguráció lehetőséget.
  4. Jelölje be az AJÁNLOTT SQL-eljárások engedélyezése jelölőnégyzetet , és adja meg a következőket:
    1. A Log Analytics-munkaterület , amelybe az értékeléseket feltölti a rendszer. Válasszon ki egy meglévő munkaterületet az előfizetésben a legördülő listából.
    2. Válassza ki azt az erőforráscsoportot, amelyben létrejön az Azure Monitor-ügynök erőforrásainak DCE-je és DCR-je . Ha ugyanazt az erőforráscsoportot több SQL Server-virtuális gépen adja meg, a rendszer újra felhasználja ezeket az erőforrásokat.
    3. A futtatási ütemezés. Dönthet úgy, hogy igény szerint vagy automatikusan, ütemezetten futtatja az értékeléseket. Ha ütemezést választ, adja meg a gyakoriságot (hetente vagy havonta), a hét napját, az ismétlődést (1-6 hetente), és azt, hogy mikor kezdődjenek az értékelések (helyiről virtuális gépre).
  5. A módosítások mentéséhez és az Azure Monitor-ügynök sql serveres virtuális gépen való üzembe helyezéséhez válassza az Alkalmaz lehetőséget, ha még nincs üzembe helyezve. Egy Azure Portal-értesítés tájékoztatja, ha az SQL ajánlott eljárásokat értékelő funkciója készen áll az SQL Server virtuális gépre.

SQL Server virtuális gép értékelése

Az értékelések futtatása:

  • Ütemezés szerint
  • Igény szerinti

Ütemezett értékelés futtatása

Az értékelés ütemezés szerint konfigurálható az Azure Portal és az Azure CLI használatával.

Ha beállít egy ütemezést a konfigurációs panelen, az értékelés automatikusan lefut a megadott dátumon és időpontban. Válassza a Konfiguráció lehetőséget az értékelési ütemezés módosításához. Miután megadta az új ütemezést, a rendszer felülírja az előző ütemezést.

Igény szerinti értékelés futtatása

Miután az SQL Ajánlott eljárások felmérése funkció engedélyezve van az SQL Server virtuális géphez, igény szerinti értékelést is futtathat az Azure Portalon vagy az Azure CLI-n keresztül.

Ha igény szerinti értékelést szeretne futtatni az Azure Portal használatával, válassza az Értékelés futtatása lehetőséget az Azure Portal SQL Server virtuális gép erőforráslapjának SQL ajánlott eljárásokat értékelő paneljén.

Eredmények megtekintése

Az SQL ajánlott eljárásokkal kapcsolatos felmérési oldal Értékelések eredmények szakasza a legutóbbi értékelési futtatások listáját jeleníti meg. Minden sor megjeleníti a futtatás kezdési időpontját és az állapotot – ütemezett, futtatott, eredmények feltöltése, befejezett vagy sikertelen. Minden értékelési futtatás két részből áll: kiértékeli a példányt, és feltölti az eredményeket a Log Analytics-munkaterületre. Az állapotmező mindkét részt lefedi. Az értékelési eredmények az Azure-munkafüzetekben jelennek meg.

Az értékelés eredményeinek elérése Az Azure-munkafüzet három módon érhető el:

  • Válassza a Legutóbbi sikeres értékelés megtekintése gombot az SQL ajánlott eljárásainak felmérési oldalán.
  • Válasszon egy befejezett futtatási lehetőséget az SQL ajánlott eljárásokkal kapcsolatos felmérési oldal Értékelési eredmények szakaszából.
  • Válassza az SQL virtuális gép erőforráslapjának Áttekintés lapján megjelenő 10 legjobb javaslat értékelési eredményeinek megtekintése lehetőséget.

Miután megnyitotta a munkafüzetet, a legördülő menüben kiválaszthatja az előző futtatásokat. Egyetlen futtatás eredményeit az Eredmények lapon tekintheti meg, vagy áttekintheti az előzménytrendeket a Trendek lapon.

Eredmények oldala

Az Eredmények lap az Összes, új és feloldott lapfülek használatával rendezi a javaslatokat. Ezekkel a lapokkal megtekintheti az aktuális futtatás összes javaslatát, az összes új javaslatot (az előző futtatásoktól való eltérést), vagy az előző futtatásokból származó javaslatokat. A lapok segítenek nyomon követni a futtatások közötti előrehaladást. Az Elemzések lap azonosítja a leggyakoribb problémákat, és az adatbázisokat a legtöbb problémával. Ezekkel eldöntheti, hogy hová összpontosítsa erőfeszítéseit.

A gráfcsoportok értékelése különböző súlyossági kategóriákat eredményez – magas, közepes, alacsony és információ. Jelölje ki az egyes kategóriákat a javaslatok listájának megtekintéséhez, vagy keressen kulcskifejezéseket a keresőmezőben. A legjobb, ha a legszigorúbb javaslatokkal kezd, és végighalad a listán.

Az első rács megjeleníti az egyes javaslatokat és a környezet által érintett példányok számát. Amikor kiválaszt egy sort az első rácsban, a második rács felsorolja az adott javaslat összes példányát. Ha nincs kijelölés az első rácsban, a második rács az összes javaslatot megjeleníti. Lehet, hogy ez egy nagy lista. A rács fölötti legördülő listák (Név, Súlyosság, Címkék, Ellenőrzőazonosító) segítségével szűrheti az eredményeket. Az Exportálás excelbefunkcióval is megnyithatja az utolsó futtatási lekérdezést a Naplók nézetben, ha az egyes rácsok jobb felső sarkában lévő kis ikonokat választja.

A gráf átadott szakasza azonosítja a rendszer által már követett javaslatokat.

Az egyes javaslatok részletes információinak megtekintéséhez válassza ki az Üzenet mezőt, például egy hosszú leírást és a releváns online erőforrásokat.

A Trendek lapon három diagram látható, amelyek az idő függvényében jelenítik meg a változásokat: az összes problémát, az új problémákat és a megoldott problémákat. A diagramok segítenek a folyamat előrehaladásának megtekintésében. Ideális esetben a javaslatok számának csökkennie kell, amíg a megoldódott problémák száma felmegy. A jelmagyarázat az egyes súlyossági szintekhez tartozó problémák átlagos számát mutatja. Mutasson a sávokra az egyes futtatásokhoz tartozó egyéni értékek megtekintéséhez.

Ha egy nap alatt több futtatás is van, csak a legújabb futtatás szerepel a Trendek oldalon található grafikonokon.

Az előfizetés összes virtuális gépének engedélyezése

Az Azure CLI használatával engedélyezheti az SQL ajánlott eljárásainak felmérését az előfizetésen belüli összes SQL Server-virtuális gépen. Ehhez használja a következő példaszkriptet:

# 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
}

Ismert problémák

Az SQL ajánlott eljárásokkal kapcsolatos értékelései során az alábbi ismert problémák némelyike merülhet fel.

Migrálás a Microsoft Monitoring Agentből (MMA) az Azure Monitor Agentbe (AMA)

Korábban az SQL ajánlott eljárásainak felmérési funkciója az MMA használatával töltötte fel az értékeléseket a Log Analytics-munkaterületre. Az MMA-t kivonják. Ez a funkció mostantól az AMA használatával tölti fel az értékeléseket. Ha korábban engedélyezte az SQL ajánlott eljárásainak értékelését az MMA használatával, egyszerűen migrálhat az AMA-ba először letiltva, majd újra engedélyezheti a funkciót. A meglévő eredmények továbbra is elérhetők lesznek a letiltási/engedélyezési művelet után is, ha ugyanazt a Log Analytics-munkaterületet adja meg. Ha más szolgáltatások nem használják, ezen a ponton eltávolíthatja a Microsoft Monitoring Agentet az alábbi utasítások követésével. A migrálás előtt győződjön meg arról, hogy az Azure Monitor Log Analytics támogatott abban a régióban, ahol az SQL Server virtuális gép az itt csatolt táblázat használatával él.

Üzembehelyezési hiba az engedélyezés vagy a futtatás értékelésekor

A sikertelen művelettel kapcsolatos hibaüzenet megtekintéséhez tekintse meg az SQL-alapú virtuális gépet tartalmazó erőforráscsoport üzembehelyezési előzményeit.

Sikertelen értékelések

Ha az értékelés vagy az eredmények feltöltése valamilyen okból meghiúsult, a futtatás állapota jelzi a hibát. Az állapotra kattintva megnyit egy környezeti panelt, ahol megtekintheti a hiba részleteit és a probléma megoldásának lehetséges módjait.

Tipp

Ha a Windowsban a TLS 1.0-s vagy újabb verzióját kényszerítette, és letiltotta a régebbi SSL-protokollokat az itt leírtak szerint, akkor azt is biztosítania kell, hogy a .NET-keretrendszer erős titkosítás használatára legyen konfigurálva.

További lépések

  • Ha az SQL Server virtuális gépét az SQL Server IaaS-bővítményével szeretné regisztrálni az Azure-beli virtuális gépeken futó SQL Serverre, olvassa el az automatikus telepítésről, az önálló virtuális gépekről vagy a virtuális gépek tömeges telepítéséről szóló cikkeket.
  • Az SQL Server IaaS-bővítmény által az Azure-beli virtuális gépeken futó SQL Server-bővítmény által elérhető további képességekről az SQL Server virtuális gépek kezelése az Azure Portal használatával című témakörben olvashat .