Gyakorlat – A teljesítmény monitorozása és hibaelhárítása
Ebben a gyakorlatban megtanulhatja, hogyan figyelheti és háríthatja el az Azure SQL teljesítményproblémáit ismerős és új eszközök és képességek használatával.
Beállítás: Szkriptek használata az Azure SQL Database üzembe helyezéséhez
A jobb oldali terminálmunkamenet, az Azure Cloud Shell lehetővé teszi az Azure böngészővel való használatát. Ebben a gyakorlatban egy szkriptet fog futtatni a környezet létrehozásához, amely egy Azure SQL Database-példány az AdventureWorks
adatbázissal. (A kisebb, egyszerűbb mintaadatbázist AdventureWorksLT
használjuk, de a AdventureWorks
félreértések elkerülése érdekében hívjuk.) A szkriptben a rendszer egy jelszót és a helyi IP-címet kéri, hogy az eszköz csatlakozzon az adatbázishoz.
Ez a szkript 3–5 perc alatt fejezi be a futását. Mindenképpen írja fel a jelszót, az egyedi azonosítót és a régiót. Többször nem fognak megjelenni.
Először kérje le a helyi IP-címét. Győződjön meg arról, hogy nem kapcsolódik egy VPN-szolgáltatáshoz sem, majd nyisson meg egy helyi PowerShell-terminált az eszközön. Futtassa a következő parancsot, és jegyezze fel a kapott IP-címet:
(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
A jobb oldali Azure Cloud Shellben adja meg a következő kódot, és amikor a rendszer kéri, adjon meg egy összetett jelszót és az előző lépésben lekért helyi nyilvános IP-címet. Nyomja le az Enter billentyűt a szkript utolsó sorának futtatásához.
$adminSqlLogin = "cloudadmin" $password = Read-Host "Your username is 'cloudadmin'. Please enter a password for your Azure SQL Database server that meets the password requirements" # Prompt for local ip address $ipAddress = Read-Host "Disconnect your VPN, open PowerShell on your machine and run '(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content'. Please enter the value (include periods) next to 'Address':" # Get resource group and location and random string $resourceGroup = Get-AzResourceGroup | Where ResourceGroupName -like "<rgn>Sandbox resource group name</rgn>" $resourceGroupName = "<rgn>Sandbox resource group name</rgn>" $uniqueID = Get-Random -Minimum 100000 -Maximum 1000000 $storageAccountName = "mslearnsa"+$uniqueID $location = $resourceGroup.Location $serverName = "aw-server$($uniqueID)"
Futtassa a következő szkriptet az Azure Cloud Shellben. Mentse a kimenetet; erre az információra a modul során szüksége lesz. A kód beillesztése után nyomja le az Enter billentyűt , így az utolsó kódsor kinyomtatja a szükséges kimenetet.
Write-Host "Please note your unique ID for future exercises in this module:" Write-Host $uniqueID Write-Host "Your resource group name is:" Write-Host $resourceGroupName Write-Host "Your resources were deployed in the following region:" Write-Host $location Write-Host "Your server name is:" Write-Host $serverName
Tipp.
Mentse a kimenetet, és jegyezze fel a jelszót, az egyedi azonosítót és a kiszolgálót. Ezekre az elemekre az egész modulban szüksége lesz.
Az alábbi szkriptet futtatva helyezzen üzembe egy Azure SQL Database-példányt és egy logikai kiszolgálót az
AdventureWorks
-mintával. Ez a szkript hozzáadja az IP-címet tűzfalszabályként, engedélyezi az Advanced Data Securityt, és létrehoz egy tárfiókot a modul hátralévő gyakorlataiban való használatra. A szkript végrehajtása több percet is igénybe vehet, és többször is szünetel. Várjon egy parancssort.# The logical server name has to be unique in the system $serverName = "aw-server$($uniqueID)" # The sample database name $databaseName = "AdventureWorks" # The storage account name has to be unique in the system $storageAccountName = $("sql$($uniqueID)") # Create a new server with a system wide unique server name $server = New-AzSqlServer -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -Location $location ` -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force)) # Create a server firewall rule that allows access from the specified IP range and all Azure services $serverFirewallRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -FirewallRuleName "AllowedIPs" ` -StartIpAddress $ipAddress -EndIpAddress $ipAddress $allowAzureIpsRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -AllowAllAzureIPs # Create a database $database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName ` -SampleName "AdventureWorksLT" ` -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" # Enable Advanced Data Security $advancedDataSecurity = Enable-AzSqlServerAdvancedDataSecurity ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName # Create a Storage Account $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroupName ` -AccountName $storageAccountName ` -Location $location ` -Type "Standard_LRS"
A helyi eszközön nyissa meg az SQL Server Management Studiót (SSMS) a logikai kiszolgálóhoz való új kapcsolat létrehozásához.
A Csatlakozás kiszolgálói bejelentkezési párbeszédpanelen adja meg a következő információkat:
Mező Value Server type (Kiszolgáló típusa) Adatbázismotor (alapértelmezett). Kiszolgálónév A Cloud Shellben visszaadott $serverName, valamint az URI többi része. Például: aw-server <unique ID>
.database.windows.net.Authentication SQL Server-hitelesítés (alapértelmezett). Bejelentkezés cloudadmin A gyakorlat 1. lépésében hozzárendelt adminSqlLogin. Jelszó A gyakorlat 1. lépésében megadott jelszó. Jelszó megjegyzése bejelölve Válassza a Kapcsolódás lehetőséget.
Megjegyzés:
A helyi konfigurációtól (például VPN) függően az ügyfél IP-címe eltérhet az Azure Portal által az üzembe helyezés során használt IP-címtől. Ha igen, a következő üzenetet fogja kapni: "Az ügyfél IP-címe nem rendelkezik hozzáféréssel a kiszolgálóhoz. Jelentkezzen be egy Azure-fiókba, és hozzon létre egy új tűzfalszabályt a hozzáférés engedélyezéséhez." Ha ezt az üzenetet kapja, jelentkezzen be a tesztkörnyezethez használt fiókkal, és adjon hozzá egy tűzfalszabályt az ügyfél IP-címéhez. Ezeket a lépéseket az SSMS varázslójának használatával is elvégezheti.
Szkriptek betöltése és szerkesztése a gyakorlat előkészítéséhez
A gyakorlat összes szkriptje megtalálható a 04-Performance\monitor_and_scale mappában a klónozott GitHub-adattárban vagy a letöltött zip-fájlban. Készítsük elő a gyakorlatot a szkriptek betöltésével és szerkesztésével.
Az SSMS-ben az Object Explorerben bontsa ki az Adatbázisok mappát, és válassza ki az AdventureWorks-adatbázist.
Válassza a Fájl>megnyitása>fájlt, és nyissa meg a dmexecrequests.sql szkriptet. A lekérdezésszerkesztőnek a következő szöveghez hasonlóan kell kinéznie:
SELECT er.session_id, er.status, er.command, er.wait_type, er.last_wait_type, er.wait_resource, er.wait_time FROM sys.dm_exec_requests er INNER JOIN sys.dm_exec_sessions es ON er.session_id = es.session_id AND es.is_user_process = 1;
Használja ugyanezt a módszer az SSMS-ben a dmdbresourcestats.sql szkript betöltéséhez. Egy új lekérdezésszerkesztési ablakban a következő szöveghez hasonlónak kell megjelennie:
SELECT * FROM sys.dm_db_resource_stats;
Ez a dinamikus felügyeleti nézet (DMV) a számítási feladat általános erőforrás-felhasználását fogja követni az Azure SQL Database viszonylatában. Például a processzort, az I/O-t és a memóriát követi nyomon.
Nyissa meg és szerkessze az sqlworkload.cmd szkriptet (amely az ostress.exe programot fogja használni).
- Cserélje le a
unique_id
kiszolgáló nevében az üzembehelyezési szkriptből mentett parancsprogramot. - Cserélje le az Azure SQL Database-kiszolgálóhoz való bejelentkezéshez használt jelszót a
-P parameter
következőre: . - Mentse a szkript módosításait.
- Cserélje le a
A számítási feladat futtatása
Ebben a feladatban egy számítási feladatot fog futtatni egy T-SQL-lekérdezésben, hogy megfigyelje az egyidejű felhasználókat szimuláló teljesítményét.
Az SSMS használatával nyissa meg a topcustomersales.sql szkriptfájlt a lekérdezés megfigyeléséhez. Nem az SSMS-ből fogja futtatni a lekérdezést. A lekérdezésszerkesztőnek a következő szöveghez hasonlóan kell kinéznie:
DECLARE @x int DECLARE @y float SET @x = 0; WHILE (@x < 10000) BEGIN SELECT @y = sum(cast((soh.SubTotal*soh.TaxAmt*soh.TotalDue) as float)) FROM SalesLT.Customer c INNER JOIN SalesLT.SalesOrderHeader soh ON c.CustomerID = soh.CustomerID INNER JOIN SalesLT.SalesOrderDetail sod ON soh.SalesOrderID = sod.SalesOrderID INNER JOIN SalesLT.Product p ON p.ProductID = sod.ProductID GROUP BY c.CompanyName ORDER BY c.CompanyName; SET @x = @x + 1; END GO
Ez az adatbázis kicsi. Az ügyfelek listájának és a hozzájuk tartozó értékesítési adatoknak a legtöbb értékesítéssel rendelkező ügyfelek által rendezett lekérésére szolgáló lekérdezésnek nem szabad nagy eredményhalmazt létrehoznia. Ezt a lekérdezést úgy hangolhatja, hogy csökkenti az eredményhalmaz oszlopainak számát, de ezek a gyakorlat szemléltetéséhez szükségesek.
Egy PowerShell-parancssorból írja be a következő parancsot a gyakorlathoz megfelelő könyvtárba való áthelyezéshez. Cserélje le
<base directory>
a modul felhasználói azonosítójára és elérési útjára:cd <base directory>\04-Performance\monitor_and_scale
Futtassa a számítási feladatot a következő paranccsal:
.\sqlworkload.cmd
Ez a szkript 10 párhuzamos, a számításifeladat-lekérdezést két alkalommal futtató felhasználót fog használni. Figyelje meg, hogy a szkript maga egy köteget futtat, de 10 000-szer halad rajta végig. Emellett az eredményt hozzárendeli egy változóhoz, ezzel szinte minden, az ügyfél felé haladó eredménykészlet-forgalmat megszüntet. Ez nem szükséges, de segít megjeleníteni a teljes mértékben a kiszolgálón futó "tiszta" CPU-számítási feladatokat.
Tipp.
Ha nem látja a processzorhasználat viselkedését ezzel a számítási feladattal a környezetében, módosíthatja az
-n parameter
értékét a felhasználók számának és az-r parameter
értékét az ismétlések beállításához.A parancssor kimenetének a következő kimenethez hasonlóan kell kinéznie:
[datetime] [ostress PID] Max threads setting: 10000 [datetime] [ostress PID] Arguments: [datetime] [ostress PID] -S[server].database.windows.net [datetime] [ostress PID] -isqlquery.sql [datetime] [ostress PID] -U[user] [datetime] [ostress PID] -dAdventureWorks [datetime] [ostress PID] -P******** [datetime] [ostress PID] -n10 [datetime] [ostress PID] -r2 [datetime] [ostress PID] -q [datetime] [ostress PID] Using language id (LCID): 1024 [English_United States.1252] for character formatting with NLS: 0x0006020F and Defined: 0x0006020F [datetime] [ostress PID] Default driver: SQL Server Native Client 11.0 [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_1.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_2.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_3.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_4.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_5.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_6.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_7.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_8.out] [datetime] [ostress PID] Attempting DOD5015 removal of [directory]\sqlquery_9.out] [datetime] [ostress PID] Starting query execution... [datetime] [ostress PID] BETA: Custom CLR Expression support enabled. [datetime] [ostress PID] Creating 10 thread(s) to process queries [datetime] [ostress PID] Worker threads created, beginning execution...
A tevékenységprofil teljesítményének megfigyelése
A teljesítmény megfigyeléséhez használjuk a korábban betöltött DMV-lekérdezéseket.
Futtassa a korábban a
dm_exec_requests
(dmexecrequests.sql) monitorozásához betöltött a lekérdezést az SSMS-ben az aktív kérések megfigyeléséhez. Futtassa ezt a lekérdezést öt vagy hat alkalommal, és figyelje meg némelyik eredményt:SELECT er.session_id, er.status, er.command, er.wait_type, er.last_wait_type, er.wait_resource, er.wait_time FROM sys.dm_exec_requests er INNER JOIN sys.dm_exec_sessions es ON er.session_id = es.session_id AND es.is_user_process = 1;
Látnia kell, hogy sok kérés állapota
RUNNABLE
, éslast_wait_type
az is.SOS_SCHEDULER_YIELD
A sokRUNNABLE
kérés és sokSOS_SCHEDULER_YIELD
várakozás egyik mutatója az aktív lekérdezések cpu-erőforrásainak esetleges hiánya.Megjegyzés:
Előfordulhat, hogy egy vagy több aktív kérés jelenik meg, amelynek egy parancsa
SELECT
és egywait_type
parancsa van.XE_LIVE_TARGET_TVF
Ezek a Microsoft felügyelete alá tartozó szolgáltatások által futtatott lekérdezések. Segítséget nyújtanak olyan képességek működtetésében, mint a bővített események használatával történő teljesítményelemzés. A Microsoft nem teszi közzé ezen munkamenetek részleteit.Ne zárja be ezt a lekérdezésszerkesztő ablakot. A következő gyakorlat során ismét futtatni fogja.
Futtassa a lekérdezést a korábban a sys.dm_db_resource_stats (dmdbresourcestats.sql) kérések monitorozásához betöltött SSMS-ben. A DMV eredményeinek megtekintéséhez futtassa a lekérdezést három vagy négy alkalommal.
SELECT * FROM sys.dm_db_resource_stats;
Ez a DMV 15 másodpercenként pillanatképet készít az adatbázishoz tartozó erőforrás-használatról (majd 1 óráig tárolja). Az avg_cpu_percent oszlopnak 100 százalékhoz közeli értéket kell mutatnia számos pillanatkép esetében. Ez azt jelzi, hogy a számítási feladat az adatbázis processzor-erőforrásainak maximális teljesítményét használja.
A helyszíni SQL Server-környezetek esetében általában az operációs rendszerre jellemzően egy, az általános erőforrás-használatot nyomon követő eszközt használunk. Ehhez például használhatja a Windows Teljesítményfigyelőt. Ha ezt a példát egy két CPU-val rendelkező virtuális gépen futó helyszíni SQL Serveren vagy SQL Serveren futtatta, akkor a kiszolgálón közel 100 százalékos processzorkihasználtság jelenik meg.
Megjegyzés:
Az Azure SQL Database-kiszolgáló
master
adatbázisának kontextusában futtathat egy másik DMV-tsys.resource_stats
is, amely a kiszolgálóhoz társított összes Azure SQL Database-adatbázis erőforrás-használatát látja. Ez a nézet kevésbé részletes, és öt percenként jeleníti meg az erőforrás-használatot (14 napig őrizve).Ne zárja be ezt a lekérdezésszerkesztő ablakot. A következő gyakorlat során ismét futtatni fogja.
Várja meg, amíg befejeződik a számítási feladat, majd jegyezze fel a teljes időtartamot. Miután a számítási feladat befejeződött, a következő kimenethez hasonló eredménynek kell megjelennie, valamint a rendszer visszalép a parancssorhoz:
[datetime] [ostress PID] Total IO waits: 0, Total IO wait time: 0 (ms) [datetime] [ostress PID] OSTRESS exiting normally, elapsed time: 00:01:22.637
Az időtartam eltérő lehet, de ez általában legalább 1–3 percet vesz igénybe. Mindenképpen hagyja, hogy teljesen befejeződjön. Amikor a számítási feladat elkészült, a rendszer visszaküldi a parancssorba.
A lekérdezéstár használata további elemzéshez
A lekérdezéstár az SQL Server egyik képessége, amellyel nyomon követhető a lekérdezések végrehajtásának teljesítménye. A teljesítményadatokat a felhasználói adatbázisban tárolja a rendszer. A lekérdezéstár nincs alapértelmezés szerint engedélyezve az SQL Serverben létrehozott adatbázisokhoz, de alapértelmezés szerint be van kapcsolva az Azure SQL Database-hez (és az Azure SQL Managed Instance-hez).
A lekérdezéstár több rendszerkatalógus-nézetet is tartalmaz a teljesítményadatok megtekintéséhez. Az SSMS ezen nézetek használatával készít jelentéseket.
Az Object Explorer SSMS-ben történő használatával nyissa meg a Lekérdezéstár mappát, és keresse meg a legtöbb erőforrást használó lekérdezésekhez tartozó jelentést.
Válassza ki a jelentést és nézze meg, hogy melyik lekérdezések használták átlagosan a legtöbb erőforrást, valamint tekintse meg ezen lekérdezések végrehajtásának adatait. Az idáig futtatott számítási feladatok alapján a jelentésnek a következő képhez hasonlóan kell kinéznie:
A megjelenített lekérdezés a vásárlói eladások számítási feladatából származó SQL-lekérdezés. Ez a jelentés a következő három összetevőből áll: magas teljes időtartammal rendelkező lekérdezések (a metrika módosítható), a társított lekérdezésterv és a futás idejére vonatkozó statisztikák, valamint a társított lekérdezésterv egy vizualizációs ábrán.
Válassza a lekérdezés sávdiagramját (a
query_id
különböző rendszerek esetén eltérő lehet). Az eredményeknek a következő képhez hasonlóan kell kinézniük:Láthatja a lekérdezés teljes időtartamát és a lekérdezés szövegét.
A sávdiagram jobb oldalán a lekérdezéshez társított lekérdezéstervre vonatkozó statisztikák diagramja látható. Vigye a mutatót a tervhez társított pont fölé. Az eredményeknek a következő képhez hasonlóan kell kinézniük:
Jegyezze fel a lekérdezés átlagos időtartamát. Az időtartamok eltérők lehetnek, de hasonlítsa össze ezt az átlagos időtartamot a lekérdezés átlagos várakozási idejével. A későbbiekben a teljesítménnyel kapcsolatos fejlesztéseket fogunk bevezetni, és ekkor újra elvégezheti az összehasonlítást, hogy lássa a különbséget.
Az utolsó összetevő a vizualizációs lekérdezésterv. A lekérdezés lekérdezésterve a következő képhez hasonlóan néz ki:
Ez az adatbázistábla olyan kevés sort tartalmaz, hogy nincs szüksége tervre; lehet, hogy nem hatékony. A lekérdezés finomhangolása nem növeli mérhető mértékben a teljesítményt. Előfordulhat, hogy a tervben figyelmeztetés jelenik meg arról, hogy a fürtözött indexkereset egyik oszlopának statisztikái nem jelennek meg. Ennek nincs jelentősége az általános teljesítményre nézve.
Az SSMS-ben a leggyakoribb erőforrás-fogyasztó lekérdezéseket követő jelentés a Lekérdezési várakozási statisztikák nevű jelentés. A korábbi diagnosztikákból tudhatja, hogy sok kérelem folyamatosan RUNNABLE állapotban volt, majdnem 100%-os processzorhasználattal. A lekérdezéstár olyan jelentéseket is tartalmaz, amelyek az erőforrásra való várakozás miatt kialakuló, lehetséges teljesítménybeli szűk keresztmetszeteket tartalmazzák. Válassza ki ezt a jelentést, majd vigye a mutatót a sávdiagram fölé. Az eredményeknek a következő képhez hasonlóan kell kinézniük:
Láthatja, hogy a vezető várakozási kategória a processzor (ez a
wait_type
SOS_SCHEDULER_YIELD megfelelője, amely asys.dm_os_wait_stats
statisztikában látható), valamint megtekintheti az átlagos várakozási időt.A jelentésben kattintson a processzor sávdiagramjára. A processzorra váró legfelső lekérdezés a használt számítási feladatból származó lekérdezés.
Figyelje meg, hogy a lekérdezés processzorára vonatkozó átlagos várakozási idő a lekérdezés teljes átlagos időtartamának nagy százaléka.
Figyelembe véve a bizonyítékokat, a lekérdezések finomhangolása nélkül a számítási feladat több processzorkapacitást igényel, mint amennyit üzembe helyeztünk az Azure SQL Database-példányunkban.
Zárja be mindkét lekérdezéstár-jelentést. A következő gyakorlatban ugyanezekre a jelentésekre lesz szüksége.
A teljesítmény figyelése az Azure Monitorral
Használjunk egy másik módszert a számítási feladat erőforrás-használatának megtekintéséhez. Az Azure Monitor teljesítménymetrikákat biztosít, amelyeket különböző módokon tekinthet meg, többek között az Azure Portalon keresztül.
Nyissa meg az Azure Portalt, és keresse meg az AdventureWorks SQL-adatbázis példányát. Az adatbázis Áttekintés paneljén válassza a Figyelés lapot. A Figyelés panel alapértelmezett nézete a Számítási kihasználtság:
Ebben a példában a cpu-százalék közel 100 százalék egy legutóbbi időtartományhoz. Ez a diagram az erőforrás-használatot (a cpu és az I/O alapértelmezés szerint) mutatja az elmúlt órában, és folyamatosan frissül. Válassza ki a diagramot, hogy testre szabhassa, hogy megtekinthesse az egyéb erőforrás-használatot.
Az SQL-adatbázis menüjében válassza a Metrikák hozzáadása lehetőséget. Az Azure Monitor for Azure SQL Database által automatikusan gyűjtött számítási kihasználtsági metrikák és egyéb metrikák megtekintésének másik módja a Metrics Explorer használata.
Megjegyzés:
A számítási kihasználtság a Metrics Explorer előre definiált nézete. Ha a Metrikák hozzáadása ablakban a Metrika legördülő menüt választja, a következő eredmények fognak megjelenni:
Ahogy a képernyőképen látható, számos metrikát használhat a Metrics Explorerrel való megtekintéshez. A Metrics Explorer alapértelmezett nézete 24 órás időtartamra szól, ötperces részletességgel. A Számítási kihasználtság nézet az utolsó óra egyperces részletességgel (amelyet megváltoztathat). Ha ugyanazt a nézetet szeretné látni, válassza ki a processzor százalékos értékét , és módosítsa a rögzítést egy órán át. A rendszer módosítja a részletességet egy percre, és a következő képhez hasonlóan kell kinéznie:
A vonaldiagram az alapértelmezett, de az Explorer nézet lehetővé teszi a diagramtípus módosítását. A Metrics Explorer számos lehetőséget kínál, többek között több metrikát is megjeleníthet ugyanazon a diagramon.
Azure Monitor logs
Ebben a gyakorlatban nem állított be Azure Monitor-naplót, de érdemes megtekinteni, hogyan nézne ki egy napló a processzorerőforrás-használati forgatókönyvben. Az Azure Monitor-naplók sokkal hosszabb előzményrekordot biztosíthatnak az Azure-metrikáknál.
Ha az Azure Monitor-naplókat Log Analytics-munkaterülettel konfigurálta, az alábbi Kusto-lekérdezéssel megtekintheti az adatbázis processzorhasználati eredményeit:
AzureMetrics
| where MetricName == 'cpu_percent'
| where Resource == "ADVENTUREWORKS"
| project TimeGenerated, Average
| render columnchart
Az eredmények a következő képhez hasonlóan néznek ki:
Az Azure Monitor-naplók késéssel rendelkeznek egy adatbázis naplódiagnosztikájának első konfigurálásakor, ezért kis időbe telhet, míg az eredmények megjelennek.
Ebben a gyakorlatban megtanulta, hogyan figyelheti meg az SQL Server teljesítményének gyakori forgatókönyvét, és részletesen tájékozódhatott a teljesítmény javítására szolgáló lehetséges megoldás kiválasztásáról. A következő leckében a teljesítmény felgyorsítására és finomhangolására használható módszereket ismerheti meg.