Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A gyorsítótárazott lekérdezési tervek összesített teljesítménystatisztikáit adja vissza az SQL Serveren. A nézet lekérdezési utasításonként egy sort tartalmaz a gyorsítótárazott terven belül, és a sorok élettartama magához a tervhez van kötve. Ha egy tervet eltávolít a gyorsítótárból, a megfelelő sorok törlődnek ebből a nézetből.
A sys.dm_exec_query_stats eredményei az egyes végrehajtások függvényében változhatnak, mivel az adatok csak a befejezett lekérdezéseket tükrözik, a még folyamatban lévőket nem.
Ha ezt a DMV-t egy dedikált SQL-készletből szeretné meghívni az Azure Synapse Analytics vagy az Analytics Platform System (PDW) szolgáltatásban, használja a sys.dm_pdw_nodes_exec_query_statsnevet. Kiszolgáló nélküli SQL-készlet esetén használja a sys.dm_exec_query_stats.
| Oszlop neve | Adattípus | Leírás |
|---|---|---|
sql_handle |
varbinary(64) | Egy jogkivonat, amely egyedileg azonosítja a lekérdezés részét képező köteget vagy tárolt eljárást.sql_handle
statement_start_offset és statement_end_offsetegyütt a lekérdezés SQL-szövegének lekérésére használható a sys.dm_exec_sql_text dinamikus felügyeleti függvény meghívásával. |
statement_start_offset |
Bájtban, 0-tól kezdődően jelzi annak a lekérdezésnek a kezdő pozícióját, amelyet a sor a köteg vagy a megőrzött objektum szövegén belül ír le. | |
statement_end_offset |
Bájtban 0-tól kezdődően a lekérdezés záró pozícióját jelzi, amelyet a sor a köteg vagy a megőrzött objektum szövegén belül ír le. Az SQL Server 2014 (12.x) előtti verziók esetében a -1 érték jelzi a köteg végét. A záró megjegyzések már nem jelennek meg. | |
plan_generation_num |
bigint | Sorozatszám, amely az újrafordítás utáni tervek példányainak megkülönböztetésére használható. |
plan_handle |
varbinary(64) | Egy jogkivonat, amely egyedileg azonosítja a végrehajtott köteg lekérdezés-végrehajtási tervét, és a csomagja a terv gyorsítótárában található, vagy éppen fut. Ez az érték átadható a sys.dm_exec_query_plan dinamikus felügyeleti függvénynek a lekérdezésterv beszerzéséhez. Mindig 0x000, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
creation_time |
datetime | A terv fordításának időpontja. Az idő az aktuális időzónábanvan rögzítve. |
last_execution_time |
datetime | A terv végrehajtásának utolsó időpontja. Az idő az aktuális időzónábanvan rögzítve. |
execution_count |
bigint | A terv végrehajtásának száma a legutóbbi fordítás óta. |
total_worker_time |
bigint | A mikroszekundumokban (de csak ezredmásodpercekben) jelentett processzoridő teljes mennyisége, amelyet a terv végrehajtása felhasznált a fordítás óta. Natívan lefordított tárolt eljárások esetén előfordulhat, hogy total_worker_time nem pontosak, ha sok végrehajtás kevesebb, mint 1 ezredmásodpercet vesz igénybe. |
last_worker_time |
bigint | A mikroszekundumokban (de csak ezredmásodpercekben) jelentett cpu-idő, amelyet a terv legutóbbi végrehajtásakor felhasználtak. 1 |
min_worker_time |
bigint | A minimális cpu-idő, mikroszekundumban (de csak ezredmásodpercben) jelentve, amelyet ez a terv valaha is felhasznált egyetlen végrehajtás során. 1 |
max_worker_time |
bigint | A maximális cpu-idő, mikroszekundumban (de csak ezredmásodpercben) jelentve, amelyet ez a terv valaha is felhasznált egyetlen végrehajtás során. 1 |
total_physical_reads |
bigint | A terv végrehajtásával végrehajtott fizikai olvasások teljes száma a fordítás óta. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
last_physical_reads |
bigint | A terv legutóbbi végrehajtásakor végrehajtott fizikai olvasások száma. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
min_physical_reads |
bigint | A terv által egyetlen végrehajtás során valaha végrehajtott fizikai olvasások minimális száma. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
max_physical_reads |
bigint | A terv által egyetlen végrehajtás során valaha végrehajtott fizikai olvasások maximális száma. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
total_logical_writes |
bigint | A terv végrehajtásával végrehajtott logikai írások teljes száma a fordítás óta. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
last_logical_writes |
bigint | A pufferkészlet azon lapjainak száma, amelyek a terv legutóbbi végrehajtása során elszennyeződtek. A lap olvasása után a lap csak az első módosításkor lesz piszkos. Ha egy oldal koszossá válik, ez a szám növekszik. A már piszkos lapok későbbi módosításai nem befolyásolják ezt a számot. Ez a szám mindig 0 egy memóriaoptimalizált tábla lekérdezésekor. |
min_logical_writes |
bigint | Azoknak a logikai írásoknak a minimális száma, amelyeket ez a terv valaha is végrehajtott egyetlen végrehajtás során. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
max_logical_writes |
bigint | Azoknak a logikai írásoknak a maximális száma, amelyeket ez a terv valaha is végrehajtott egyetlen végrehajtás során. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
total_logical_reads |
bigint | A terv végrehajtásával végrehajtott logikai olvasások teljes száma a fordítás óta. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
last_logical_reads |
bigint | A terv legutóbbi végrehajtásakor végrehajtott logikai olvasások száma. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
min_logical_reads |
bigint | Azoknak a logikai olvasásoknak a minimális száma, amelyeket ez a terv valaha is végrehajtott egyetlen végrehajtás során. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
max_logical_reads |
bigint | Azoknak a logikai olvasásoknak a maximális száma, amelyeket ez a terv valaha is végrehajtott egyetlen végrehajtás során. Memóriaoptimalizált tábla lekérdezésekor mindig 0. |
total_clr_time |
bigint | A Microsoft .NET Framework közös nyelvi futtatókörnyezeti (CLR) objektumaiban felhasznált idő, amely mikroszekundumokban (de csak ezredmásodpercekben) jelent meg, a terv fordítása óta végrehajtott végrehajtásával. A CLR-objektumok tárolhatók eljárások, függvények, triggerek, típusok és összesítések. |
last_clr_time |
bigint | A .NET-keretrendszer CLR-objektumaiban a terv legutóbbi végrehajtása során a végrehajtás által felhasznált mikroszekundumokban (de csak ezredmásodpercekben) jelentett idő. A CLR-objektumok tárolhatók eljárások, függvények, triggerek, típusok és összesítések. |
min_clr_time |
bigint | A mikroszekundumokban jelentett minimális idő (de ezredmásodpercig pontos), amelyet ez a terv valaha is felhasznált a .NET-keretrendszer CLR-objektumaiban egyetlen végrehajtás során. A CLR-objektumok tárolhatók eljárások, függvények, triggerek, típusok és összesítések. |
max_clr_time |
bigint | A mikroszekundumokban jelentett maximális idő (de ezredmásodpercig pontos), amelyet ez a terv valaha is felhasznált a .NET-keretrendszer CLR-ben egyetlen végrehajtás során. A CLR-objektumok tárolhatók eljárások, függvények, triggerek, típusok és összesítések. |
total_elapsed_time |
bigint | A terv befejezett végrehajtásához mikroszekundumban (de csak ezredmásodpercben) jelentett teljes idő. |
last_elapsed_time |
bigint | Eltelt idő, mikroszekundumban (de csak ezredmásodpercben pontos) jelentve a terv legutóbbi végrehajtásához. |
min_elapsed_time |
bigint | Minimális eltelt idő, mikroszekundumban (de csak ezredmásodpercben) jelentve a terv befejezett végrehajtásához. |
max_elapsed_time |
bigint | Maximális eltelt idő, mikroszekundumban (de csak ezredmásodpercben) jelentve a terv befejezett végrehajtásához. |
query_hash |
Bináris(8) | A lekérdezésre kiszámított bináris kivonatérték hasonló logikájú lekérdezések azonosítására szolgál. A lekérdezés kivonatával meghatározhatja a csak literális értékektől eltérő lekérdezések összesített erőforrás-használatát. |
query_plan_hash |
bináris(8) | A lekérdezés végrehajtási tervében kiszámított bináris kivonatérték, amely hasonló lekérdezés-végrehajtási tervek azonosítására szolgál. A lekérdezésterv kivonatával megkeresheti a hasonló végrehajtási tervekkel rendelkező lekérdezések összesített költségét. Mindig 0x000, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
total_rows |
bigint | A lekérdezés által visszaadott sorok teljes száma. Nem lehet null értékű. Mindig 0, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
last_rows |
bigint | A lekérdezés utolsó végrehajtása által visszaadott sorok száma. Nem lehet null értékű. Mindig 0, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
min_rows |
bigint | A lekérdezés által egy végrehajtás során visszaadott sorok minimális száma. Nem lehet null értékű. Mindig 0, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
max_rows |
bigint | A lekérdezés által visszaadott sorok maximális száma egyetlen végrehajtás során. Nem lehet null értékű. Mindig 0, ha egy natívan lefordított tárolt eljárás lekérdez egy memóriaoptimalizált táblát. |
statement_sql_handle |
varbinary(64) |
A: SQL Server 2014 (12.x) és újabb verziókra vonatkozik. A nem NULL értékekkel csak akkor töltődik fel, ha a Lekérdezéstár be van kapcsolva, és összegyűjti az adott lekérdezés statisztikáit. |
statement_context_id |
bigint |
A: SQL Server 2014 (12.x) és újabb verziókra vonatkozik. A nem NULL értékekkel csak akkor töltődik fel, ha a Lekérdezéstár be van kapcsolva, és összegyűjti az adott lekérdezés statisztikáit. |
total_dop |
bigint | A terv fordítása óta használt párhuzamosság teljes összege. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_dop |
bigint | A párhuzamosság mértéke a terv legutóbbi végrehajtásakor. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_dop |
bigint | Az a minimális párhuzamosság, amelyet ez a terv valaha is használt egy végrehajtás során. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_dop |
bigint | A terv maximális párhuzamossági foka egy végrehajtás során. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_grant_kb |
bigint | A csomag fordítása óta kapott fenntartott memória-támogatás teljes mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_grant_kb |
bigint | A fenntartott memória megadásának mennyisége a KB-ban, amikor a terv legutóbb végre volt hajtva. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_grant_kb |
bigint | A terv által egy végrehajtás során valaha kapott fenntartott memória minimális mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_grant_kb |
bigint | A terv által egy végrehajtás során valaha kapott fenntartott memória maximális mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_used_grant_kb |
bigint | A csomag fordítása óta használt fenntartott memória teljes mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_used_grant_kb |
bigint | A felhasznált memóriahasználat mennyisége a KB-ban, amikor a terv legutóbb végrehajtotta. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_used_grant_kb |
bigint | Az a minimális memóriahasználati támogatás a KB-ban, amelyet ez a terv valaha is használt egy végrehajtás során. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_used_grant_kb |
bigint | A terv által egy végrehajtás során valaha felhasznált memória maximális mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_ideal_grant_kb |
bigint | A terv összeállítása óta becsült ideális memóriahasználat teljes mennyisége a KB-ban. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_ideal_grant_kb |
bigint | Az ideális memóriakiadás mennyisége kb-ban a terv legutóbbi végrehajtásakor. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_ideal_grant_kb |
bigint | Az ideális memóriahasználat minimális mennyisége a tervben, amely egy végrehajtás során valaha becsült kb. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_ideal_grant_kb |
bigint | Az ideális memóriahasználat maximális mennyisége a tervben, amely egy végrehajtás során valaha becsült kb. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_reserved_threads |
bigint | A terv által a fordítás óta használt fenntartott párhuzamos szálak teljes összege. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_reserved_threads |
bigint | A fenntartott párhuzamos szálak száma a terv legutóbbi végrehajtásakor. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_reserved_threads |
bigint | A terv által egy végrehajtás során használt fenntartott párhuzamos szálak minimális száma. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_reserved_threads |
bigint | A terv által egy végrehajtás során valaha használt fenntartott párhuzamos szálak maximális száma. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_used_threads |
bigint | A terv által a fordítás óta használt párhuzamos szálak teljes összege. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
last_used_threads |
bigint | A használt párhuzamos szálak száma a terv legutóbbi végrehajtásakor. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
min_used_threads |
bigint | A terv által egy végrehajtás során valaha használt párhuzamos szálak minimális száma. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
max_used_threads |
bigint | A terv által egy végrehajtás során valaha használt párhuzamos szálak maximális száma. Mindig 0 egy memóriaoptimalizált tábla lekérdezéséhez.A: SQL Server 2016 (13.x) és újabb verziókra vonatkozik. |
total_columnstore_segment_reads |
bigint | A lekérdezés által beolvasott oszlopcentrikus szegmensek teljes összege. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
last_columnstore_segment_reads |
bigint | A lekérdezés utolsó végrehajtása során beolvasott oszlopcentrikus szegmensek száma. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
min_columnstore_segment_reads |
bigint | Az oszlopcentrikus szegmensek minimális száma, amelyet a lekérdezés egy végrehajtás során olvas. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
max_columnstore_segment_reads |
bigint | Az oszlopcentrikus szegmensek maximális száma, amelyet a lekérdezés egy végrehajtás során olvas. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
total_columnstore_segment_skips |
bigint | A lekérdezés által kihagyott oszlopcentrikus szegmensek teljes összege. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
last_columnstore_segment_skips |
bigint | A lekérdezés utolsó végrehajtása során kihagyott oszlopcentrikus szegmensek száma. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
min_columnstore_segment_skips |
bigint | Azon oszlopcentrikus szegmensek minimális száma, amelyeket a lekérdezés egy végrehajtás során kihagyott. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
max_columnstore_segment_skips |
bigint | Az oszlopcentrikus szegmensek maximális száma, amelyet a lekérdezés egy végrehajtás során kihagyott. Nem lehet null értékű. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
total_spills |
bigint | A lekérdezés fordítása óta a lekérdezés végrehajtásával kiömlött lapok teljes száma. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
last_spills |
bigint | A lekérdezés legutóbbi végrehajtásakor kiömlött lapok száma. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
min_spills |
bigint | A lekérdezés által egyetlen végrehajtás során kiömlött lapok minimális száma. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
max_spills |
bigint | A lekérdezés által egyetlen végrehajtás során kiömlött lapok maximális száma. Avonatkozik: AZ SQL Server 2016 (13.x) SP2 és az SQL Server 2017 (14.x) CU3 verziótól kezdve |
pdw_node_id |
Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) |
|
total_page_server_reads |
bigint | A terv végrehajtásával végrehajtott távolioldal-kiszolgálói olvasások teljes száma a fordítás óta. A következőkre vonatkozik: Azure SQL Database Rugalmas skálázás |
last_page_server_reads |
bigint | A terv legutóbbi végrehajtásakor végrehajtott távolioldal-kiszolgálói olvasások száma. Az Azure SQL Database rugalmas skálázásának |
min_page_server_reads |
bigint | A távolioldal-kiszolgáló minimális száma azt olvassa fel, hogy ez a terv valaha is végrehajtotta egyetlen végrehajtás során. Az Azure SQL Database rugalmas skálázásának |
max_page_server_reads |
bigint | A távoli lapkiszolgálók maximális száma azt olvassa fel, hogy ez a terv valaha is végrehajtott egy végrehajtás során. Az Azure SQL Database rugalmas skálázásának |
Jegyzet
1 A statisztikák gyűjtésének engedélyezésekor natívan lefordított tárolt eljárások esetén a feldolgozói idő ezredmásodpercben lesz összegyűjtve. Ha a lekérdezés kevesebb mint egy ezredmásodpercben fut, az érték 0.
Engedélyek
Az SQL Server 2019 (15.x) és a korábbi verziók, valamint a felügyelt Azure SQL-példány VIEW SERVER STATE engedélyt igényelnek.
Az SQL Server 2022 (16.x) és újabb verziói VIEW SERVER PERFORMANCE STATE engedélyt igényelnek a kiszolgálón.
Az Azure SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.
Megjegyzések
A nézetben lévő statisztikák a lekérdezés befejezésekor frissülnek.
Példák
Egy. A TOP N-lekérdezések megkeresése
Az alábbi példa az átlagos CPU-idő alapján rangsorolt első öt lekérdezés adatait adja vissza. Ez a példa a lekérdezéseket a lekérdezés kivonata alapján összesíti, így a logikailag egyenértékű lekérdezések a kumulatív erőforrás-felhasználásuk szerint vannak csoportosítva. A Sample_Statement_Text oszlopban a lekérdezési kivonatnak megfelelő lekérdezési struktúra látható, de az utasítás adott értékeinek figyelembevételével kell olvasni. Ha például egy utasítás WHERE Id = 5tartalmaz, általánosabb formában is elolvashatja: WHERE Id = @some_value.
SELECT TOP 5
query_stats.query_hash AS Query_Hash,
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS Avg_CPU_Time,
MIN(query_stats.statement_text) AS Sample_Statement_Text
FROM (
SELECT QS.*,
SUBSTRING(ST.text, (QS.statement_start_offset / 2) + 1, (
(
CASE statement_end_offset
WHEN - 1
THEN DATALENGTH(ST.text)
ELSE QS.statement_end_offset
END - QS.statement_start_offset
) / 2
) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) AS ST
) AS query_stats
GROUP BY query_stats.query_hash
ORDER BY 2 DESC;
B. Lekérdezés sorszám-összesítéseinek visszaadása
Az alábbi példa a lekérdezések sorszámának összesítési adatait (összes sor, minimális sor, maximális sor és utolsó sor) adja vissza.
SELECT qs.execution_count,
SUBSTRING(qt.text, qs.statement_start_offset / 2 + 1, (
CASE
WHEN qs.statement_end_offset = - 1
THEN LEN(CONVERT(NVARCHAR(max), qt.text)) * 2
ELSE qs.statement_end_offset
END - qs.statement_start_offset
) / 2) AS query_text,
qt.dbid,
dbname = DB_NAME(qt.dbid),
qt.objectid,
qs.total_rows,
qs.last_rows,
qs.min_rows,
qs.max_rows
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
WHERE qt.text LIKE '%SELECT%'
ORDER BY qs.execution_count DESC;