voorwoord
Dikwels is daar 'n behoefte om die administrateur in te lig oor probleme wat verband hou met die databasis (databasis) in reΓ«le tyd.
Hierdie artikel sal beskryf wat in Zabbix gekonfigureer moet word om die MS SQL Server-databasis te monitor.
Ek vestig u aandag op die feit dat in detail hoe om te konfigureer nie gegee sal word nie, formules en algemene aanbevelings, sowel as 'n gedetailleerde beskrywing van die byvoeging van pasgemaakte data-elemente deur gestoorde prosedures sal egter in hierdie artikel gegee word.
Ook sal slegs die hoofprestasietellers hier oorweeg word.
besluit
Eerstens sal ek al daardie prestasietellers beskryf (deur items in Zabbix) wat ons nodig het:
- Logiese skyf
- Gem. skyf sek/lees
Toon die gemiddelde tyd in sekondes om data vanaf skyf te lees. Die gemiddelde waarde van die Gem. werkverrigtingteller. Skyf sek/Lees moet nie 10 millisekondes oorskry nie. Die maksimum waarde van die Gem. werkverrigtingteller. Skyf sek/lees moet nie 50 millisekondes oorskry nie.Zabbix: perf_counter[LogicalDisk(_Total)Gem. Disk sec/Read], en dit is ook belangrik om tred te hou met die verlangde skyf, byvoorbeeld: perf_counter[LogicalDisk(C:)Avg. Skyf sek/Lees]
Sneller voorbeelde:
{NODE_NAME:perf_counter[LogicalDisk(_Total)Gem. Skyf sek/Lees].last()}>0.005, vlak-hoog
ΠΈ
{NODE_NAME:perf_counter[LogicalDisk(_Total)Gem. Skyf sek/Lees].last()}>0.0025, vlak-medium - Gem. skyf sek/skryf
Toon die gemiddelde tyd in sekondes om data na skyf te skryf. Die gemiddelde waarde van die Gem. werkverrigtingteller. Skyf sek/skryf mag nie 10 millisekondes oorskry nie. Die maksimum waarde van die Gem. werkverrigtingteller. Skyf sek/skryf mag nie 50 millisekondes oorskry nie.Zabbix: perf_counter[LogicalDisk(_Total)Gem. Disk sec/Write], en dit is ook belangrik om tred te hou met die verlangde skyf, byvoorbeeld: perf_counter[LogicalDisk(C:)Avg. Skyf sek/skryf]
Sneller voorbeelde:
{NODE_NAME:perf_counter[LogicalDisk(_Total)Gem. Disk sec/Write].last()}>0.005, vlak-hoog
ΠΈ
{NODE_NAME:perf_counter[LogicalDisk(_Total)Gem. Disk sec/Write].last()}>0.0025, vlak-medium - Gemiddelde skyfwaglengte
Die gemiddelde lengte van die versoektou na die skyf. Wys die aantal skyfversoeke wat hangende gedurende 'n gespesifiseerde tydinterval. Normale tou is nie meer as 2 vir 'n enkele skyf nie. As daar meer as twee versoeke in die tou is, dan is die skyf waarskynlik oorlaai en het nie tyd om inkomende versoeke te verwerk nie. Jy kan die Avg tellers gebruik om uit te vind presies watter bewerkings die skyf nie kan hanteer nie. Lengte van skyfleeswaglys (leesversoekwaglys) en Gem. Disk Wright-waglyslengte (skryf versoektou).
Gem. waarde. Skyfwaglengte word nie gemeet nie, maar bereken volgens Little se wet uit die wiskundige teorie van rye. Volgens hierdie wet is die aantal versoeke wat wag om verwerk te word, gemiddeld gelyk aan die frekwensie van versoeke wat ontvang word, vermenigvuldig met die verwerkingstyd van die versoek. DiΓ©. in ons geval Gem. Skyfwaglengte = (Skyfoordrag/sek) * (Gemiddeld skyfsek/oordrag).Aug. Skyfwaglengte word gegee as een van die hooftellers om die werklading van die skyfsubstelsel te bepaal, maar om dit voldoende te skat, is dit nodig om die fisiese struktuur van die stoorstelsel akkuraat voor te stel. Byvoorbeeld, vir 'n enkele hardeskyf word 'n waarde groter as 2 as krities beskou, en as die skyf op 'n RAID-skikking van 4 skywe geleΓ« is, moet jy bekommerd wees as die waarde groter as 4 * 2 = 8 is.
Zabbix: perf_counter[LogicalDisk(_Total)Gem. Disk Queue Length], en dit is ook belangrik om tred te hou met die verlangde skyf, byvoorbeeld: perf_counter[LogicalDisk(C:)Avg. Lengte van skyfwaglys]
- Gem. skyf sek/lees
- Memory
- Bladsye/sek
Toon die aantal bladsye wat SQL Server vanaf skyf gelees of na skyf geskryf het om toegang tot geheuebladsye op te los wat nie in die hoofgeheue gelaai is ten tyde van die toegang nie. Hierdie waarde is die som van die bladsye-invoer/sek en Bladsy-uitvoer/sek-waardes, en neem ook die blaai (omruil/omruil) van die stelselkas in ag vir toegang tot toepassingdatalΓͺers. Dit sluit ook blaai van nie-gekas direk geheue-gekarteer lΓͺers. Dit is die hoofteller om dop te hou as jy hoΓ« geheuegebruik en gepaardgaande oormatige blaai ervaar. Hierdie teller kenmerk die hoeveelheid omruiling en sy normale (nie piek) waarde moet naby aan nul wees. 'n Toename in ruil dui die behoefte aan om RAM te verhoog of die aantal toepassings wat op die bediener loop, te verminder.Zabbix: perf_counter[MemoryPages/sek] Sneller Voorbeeld:
{NOTE_NAME:perf_counter[MemoryPages/sec].min(5m)}>1000, vlak-inligting - Bladsyfoute/sek
Dit is die waarde van die bladsyfoutteller. 'n Bladfout vind plaas wanneer 'n proses verwys na 'n virtuele geheuebladsy wat nie in die werkstel van RAM is nie. Hierdie teller neem beide daardie bladsyfoute in ag wat 'n skyftoegang vereis en diΓ© wat veroorsaak word deurdat die bladsy buite die werkset in RAM is. Die meeste verwerkers kan tipe XNUMX-bladsyfoute sonder veel vertraging hanteer. Die hantering van tipe XNUMX-bladsyfoute, wat skyftoegang vereis, kan egter aansienlike vertragings veroorsaak.
Zabbix: perf_counter[MemoryPage Faults/sek] Sneller Voorbeeld:
{NODE_NAME:perf_counter[MemoryPage Faults/sec].min(5m)}>1000, vlak-inligting - Beskikbare Bytes
Hou tred met die hoeveelheid geheue in grepe wat beskikbaar is vir verskeie prosesse om uit te voer. Lae getalle beteken lae geheue. Die oplossing is om geheue te verhoog. Hierdie meter moet in die meeste gevalle konstant bo 5000 kV wees.
Dit maak sin om die drempel vir Beskikbare Mgrepe handmatig te stel om die volgende redes:β’50% gratis geheue beskikbaar = Uitstekend
β’25% beskikbare geheue = Benodig aandag
β’10% gratis = Moontlike probleme
β’ Minder as 5% beskikbare geheue = Kritiek vir spoed, jy moet ingryp.
Zabbix: perf_counter[MemoryAvailable Bytes]
- Bladsye/sek
- Verwerker (Totaal): % verwerkertyd
Hierdie teller wys die persentasie tyd wat die verwerker besig was om bewerkings uit te voer vir nie-ledige drade (nie-ledige draad). Hierdie waarde kan beskou word as 'n fraksie van die tyd wat nodig is om nuttige werk te verrig. Elke verwerker kan aan 'n ledige draad toegewys word wat onproduktiewe verwerkersiklusse verbruik wat nie deur ander drade gebruik word nie. Hierdie teller word gekenmerk deur kort pieke wat 100 persent kan bereik. As daar egter lang tydperke is wanneer verwerkerbenutting meer as 80 persent is, sal die stelsel meer doeltreffend wees wanneer meer verwerkers gebruik word.Zabbix: perf_counter[Verwerker(_Totaal)% verwerkertyd], hier kan dit ook deur kerns vertoon word
Sneller Voorbeeld:
{NODE_NAME:perf_counter[Verwerker(_Total)% verwerkertyd].min(5m)}>80, vlakinligting - Netwerkkoppelvlak (*): % Bytes Totaal/sek
Die totale aantal grepe wat per sekonde gestuur en ontvang is oor alle koppelvlakke. Dit is die koppelvlakbandwydte (in grepe). Dit is nodig om die waarde van hierdie teller te vergelyk met die maksimum bandwydte van die netwerkkaart. Oor die algemeen behoort hierdie teller nie meer as 50% netwerkadapterbandwydtebenutting te wys nie.
Zabbix: perf_counter[Netwerkkoppelvlak(*)Briewe gestuur/sek.] - MS SQL Server: Toegangsmetodes
Die Access Methods-objek in SQL Server verskaf tellers om jou te help om toegang tot logiese data binne 'n databasis op te spoor. Fisiese toegang tot databasisbladsye op skyf word deur bufferbestuurdertellers beheer. Die waarneming van datatoegangsmetodes in 'n databasis help jou om te bepaal of jy navraagprestasie kan verbeter deur indekse by te voeg of te verander, partisies by te voeg of te skuif, lΓͺers of groepe lΓͺers by te voeg, indekse te defragmenteer of navraagteks te verander. Jy kan ook die tellers op die Access Methods-objek gebruik om die grootte van data, indekse en vrye spasie in die databasis te monitor, om volume en fragmentasie vir elke bedienergeval te beheer. Oormatige fragmentering van indekse kan prestasie aansienlik verswak.- Bladsyverdelings/sek
Die aantal bladsybreuke per sekonde wat plaasgevind het as gevolg van indeksbladsy wat oorloop. 'n Groot waarde van hierdie aanwyser beteken dat SQL Server 'n groot aantal hulpbron-intensiewe bewerkings uitvoer om bladsye te verdeel en 'n deel van 'n bestaande bladsy na 'n nuwe plek te skuif wanneer invoeg- en opdateringbewerkings uitgevoer word. Sulke operasies moet waar moontlik vermy word. Jy kan probeer om die probleem op twee maniere op te los:
- Skep 'n gegroepeerde indeks op outomatiese inkrementkolomme. In hierdie geval sal nuwe inskrywings nie binne bladsye geplaas word wat reeds deur data beset is nie, maar sal opeenvolgend nuwe bladsye beset;
- herbou indekse deur die waarde van die Fillfactor-parameter te verhoog. Hierdie opsie laat toe dat vrye spasie in indeksbladsye gereserveer word vir nuwe data sonder dat paginering nodig is.
Zabbix: perf_counter["MSSQL$InstanceName:Access MethodsPage Splits/sek",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INStance_NAME:Access MethodsPage Splits/sec",30].last()}>{NODE_NAME:perf_counter["MSSQL$INStance_NAME:SQL StatisticsBatch Requests/sec",30].last()} /5, vlak-inligting - Volle skanderings/sek
Die aantal onbeperkte volledige skanderings per sekonde. Hierdie bewerkings sluit basistabelskanderings en volledige indeksskanderings in. 'n Stabiele toename in hierdie aanwyser kan stelseldegradasie aandui (gebrek aan nodige indekse, hul sterk fragmentasie, nie-gebruik van bestaande indekse deur die optimiseerder, teenwoordigheid van ongebruikte indekse). Dit is egter opmerklik dat 'n volledige skandering op klein tafeltjies nie altyd sleg is nie, want as jy die hele tafel in RAM kan pas, sal dit net vinniger wees om 'n volledige skandering uit te voer. Maar in die meeste gevalle sal 'n stabiele groei van hierdie toonbank die agteruitgang van die stelsel aandui. Dit alles geld slegs vir OLTP-stelsels. In OLAP-stelsels is konstante volledige skanderings normaal.
Zabbix: perf_counter["MSSQL$InstanceName:ToegangsmetodesVolledige skanderings/sek",30]
- Bladsyverdelings/sek
- MS SQL Server: Bufferbestuurder
Die Buffer Bestuurder-objek verskaf tellers om te monitor hoe SQL Server die volgende hulpbronne gebruik:
- geheue vir die stoor van data bladsye;
- tellers wat gebruik word om fisiese I / O te monitor wanneer SQL Server databasisbladsye lees en skryf;
- bufferpoeluitbreiding om die bufferkas uit te brei met behulp van vinnige nie-vlugtige geheue, soos vastestaataandrywers (SSD);
- Monitering van die geheue en tellers wat deur SQL Server gebruik word, help om die volgende inligting te bekom;
- Is daar enige "bottelnekke" wat veroorsaak word deur 'n gebrek aan fisiese geheue. As gereelde toegang tot data nie gekas kan word nie, word SQL Server gedwing om dit vanaf skyf te lees;
- Of dit moontlik is om die doeltreffendheid van navraaguitvoering te verhoog deur die hoeveelheid geheue te verhoog of bykomende geheue toe te ken vir die cache van data of die stoor van interne strukture van SQL Server;
Hoe gereeld lees SQL Server data vanaf skyf. In vergelyking met ander bedrywighede, soos geheuetoegang, neem fisiese I/O langer. Die vermindering van I/O kan navraagprestasie verbeter.- Buffer Cache treffer radio
Dui aan hoe volledig SQL Server data in die kasbuffer kan toewys. Hoe hoΓ«r hierdie waarde, hoe beter. Vir SQL Server om doeltreffend toegang tot databladsye te verkry, moet hulle in 'n kasbuffer wees en daar moet geen fisiese invoer/afvoer (I/O) bewerkings wees nie. As daar 'n bestendige afname in die gemiddelde waarde van hierdie teller is, moet jy dit oorweeg om RAM by te voeg. Hierdie aanwyser moet altyd bo 90% wees vir OLTP-stelsels en bo 50% vir OLAP-stelsels.
Zabbix: perf_counter["MSSQL$INSTENTION_NAME:BufferbestuurderBufferkas-trefferverhouding",30] Sneller voorbeelde: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:BufferbestuurderBufferkas-trefferverhouding",30].last()}<70, vlak-hoog
ΠΈ
{NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:BufferbestuurderBufferkas-trefferverhouding",30].last()}<80, vlak-medium - Bladsy lewensverwagting
Dui aan hoe lank die bladsy permanent in die geheue sal bly in sy huidige toestand. As die waarde aanhou daal, beteken dit dat die stelsel die bufferpoel te veel gebruik. Geheue werking kan dus moontlik probleme veroorsaak wat lei tot prestasie agteruitgang. Dit is opmerklik dat daar geen universele aanwyser is waaronder 'n mens onomwonde kan oordeel dat die stelsel die bufferpoel misbruik nie (die aanwyser van 300 sekondes is verouderd met MS SQL Server 2012).
Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Lewensverwagting van BufferbestuurderBladsy",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerPage lewensverwagting",30].last()}<5, vlak-inligting
- Buffer Cache treffer radio
- MS SQL Server: Algemene Statistiek
Die Algemene Statistiek-objek in SQL Server verskaf tellers wat jou toelaat om algehele bedieneraktiwiteit te monitor, soos die aantal gelyktydige verbindings en die aantal gebruikers per sekonde wat koppel aan of ontkoppel van die rekenaar wat 'n instansie van SQL Server gebruik. Hierdie maatstawwe is nuttig in groot aanlyn transaksieverwerking (OLTP) stelsels waar 'n groot aantal kliΓ«nte voortdurend koppel en ontkoppel van die SQL Server-instansie.- Proses geblokkeer
Die aantal tans geblokkeerde prosesse.
Zabbix: perf_counter["MSSQL$INSPECTION_NAME:Algemene Statistiekprosesse geblokkeer",30] Sneller Voorbeeld: ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Algemene Statistiekprosesse geblokkeer",30].min(2m,0)}>=0)
en ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Algemene Statistiekprosesse geblokkeer",30].time(0)}>=50000)
en ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Algemene Statistiekprosesse geblokkeer",30].time(0)}<=230000), vlakinligting (daar is 'n alarmbeperking van 05:00 tot 23:00) - Gebruikersverbindings
Die aantal gebruikers wat tans aan die SQL Server gekoppel is.
Zabbix: perf_counter["MSSQL$INSPECTION_NAME:Algemene StatistiekGebruikerverbindings",30]
- Proses geblokkeer
- MS SQL Server: Slotte
Die Locks-objek in Microsoft SQL Server verskaf inligting oor SQL Server-slotte wat op individuele hulpbrontipes verkry is. Slotte word uitgereik op SQL Server-hulpbronne, soos rye wat deur 'n transaksie gelees of gewysig word, om te verhoed dat veelvuldige transaksies die hulpbronne gelyktydig gebruik. Byvoorbeeld, as 'n eksklusiewe (X) slot verkry word deur 'n transaksie op 'n ry in 'n tabel, kan geen ander transaksie daardie ry verander totdat die slot vrygestel is nie. Die vermindering van die gebruik van slotte verhoog gelyktydigheid, wat algehele prestasie kan verbeter. Veelvuldige gevalle van die Slots-voorwerp kan gelyktydig nagespoor word, wat elkeen 'n slot op 'n ander soort hulpbron sal verteenwoordig.- Gemiddelde wagtyd (ms)
Gemiddelde wagtyd (in millisekondes) vir alle slotversoeke wat 'n wag vereis het. Hierdie teller meet die gemiddelde aantal gebruikerprosesse wat in tou moet staan ββom 'n slot op 'n hulpbron te verkry. Die maksimum toelaatbare waarde van hierdie teller hang geheel en al af van jou taak, dit is moeilik om 'n gemiddelde waarde vir alle toepassings hier te bepaal. As hierdie teller te hoog is, kan dit probleme met slotte in jou databasis beteken.
Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Slotte(_Totaal)Gemiddelde wagtyd (ms)",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Slotte(_Total)Gemiddelde wagtyd (ms)",30].last()}>=500, vlakinligting - Sluit Wagtyd (ms)
Totale slotwagtyd (in millisekondes) in die laaste sekonde.
Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Slotte(_Total)Slot wagtyd (ms)",30] - Slot Wag/sek
Die aantal kere in die laaste sekonde wat 'n draad moes wag vir 'n sluitversoek.
Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Slotte(_Total)Slot wag/sek",30] - Sluit Timeouts/sek
Die aantal herproberings wanneer die slot nie deur round-robin verkry kan word nie. Die waarde van die SQL Server-draaiteller-konfigurasieparameter bepaal die aantal "draaie" van die draad (spin) voordat dit uittel en die draad ledig gaan.
Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Slotte(_Total)Slot-tyd-oute/sek",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Slotte(_Total)Slotte(_Total)Slot-timeouts/sek",30].last()}>1000, vlak-inligting - Sluitversoeke/sek
Die aantal versoeke per sekonde vir die gespesifiseerde slottipe.
Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Slotte(_Total)Slotversoeke/sek",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Slotversoeke/sek",30].last()}>500000, inligtingsvlak - Slot Aantal dooiepunte/sek
Die aantal slotversoeke per sekonde wat 'n dooiepunt tot gevolg het. Dooiepunte dui op misvormde navrae wat gedeelde hulpbronne blokkeer.
Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Aantal dooiepunte/sek",30] Sneller Voorbeeld: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Slotte(_Total)Aantal dooiepunte/sek",30].last()}>1, vlak-hoog
- Gemiddelde wagtyd (ms)
- MS SQL Server: Geheue Bestuurder
Die Memory Manager-objek in Microsoft SQL Server verskaf tellers om bedienerwye geheuegebruik te monitor. Monitering van bedienerwye geheuegebruik om gebruikersaktiwiteit en hulpbrongebruik te evalueer, kan help om prestasieknelpunte te identifiseer. Die geheuebeheer wat deur 'n instansie van SQL Server gebruik word, kan help om te bepaal:
- Of daar tekorte in onvoldoende fisiese geheue is om gereelde toegang tot data in die kas te stoor. As daar nie genoeg geheue is nie, moet SQL Server die data van skyf af haal;
- Of navraagprestasie verbeter kan word as meer geheue bygevoeg word of meer geheue beskikbaar is vir kasdata of SQL Server interne strukture.- Geheuetoekennings Uitstaande
Spesifiseer die totale aantal prosesse wat werkspasiegeheue suksesvol verkry het. Met 'n stabiele daling in die aanwyser, is dit nodig om die RAM te verhoog.
Zabbix: perf_counter["MSSQL$INSTENTION_NAME:GeheuebestuurderGeheuetoekennings Uitstaande",30] - Geheuetoekennings hangende
Dui die totale aantal prosesse aan wat wag vir werkgeheue om toegestaan ββte word. Met 'n stabiele groei van die aanwyser, is dit nodig om die RAM te verhoog.
Zabbix: perf_counter["MSSQL$InstanceName:GeheuebestuurderGeheuetoekennings hangende",30]
- Geheuetoekennings Uitstaande
- MS SQL Server: Statistiek
Die Statistiek-objek in Microsoft SQL Server verskaf tellers om samestelling en navraagtipes te monitor wat na 'n instansie van SQL Server gestuur word. Die monitering van die aantal navraagsamestellings en hersamestelling en die aantal bondels wat deur 'n instansie van SQL Server ontvang word, gee jou 'n idee van hoe vinnig SQL Server gebruikersnavrae uitvoer en hoe doeltreffend die navraagoptimeerder dit verwerk.- Batch-versoeke/sek
Die aantal Transact-SQL-opdragpakkies wat per sekonde ontvang is. Hierdie statistieke word beΓ―nvloed deur enige limiete (I/O, aantal gebruikers, kasgrootte, navraagkompleksiteit, ens.). 'n HoΓ« aantal pakkieversoeke dui op hoΓ« deurset.
Zabbix: perf_counter["MSSQL$InstanceName:SQL StatisticsBatch Requests/sek",30]
- Batch-versoeke/sek
Benewens al die bogenoemde, kan jy ook ander data-elemente opstel (asook snellers daarop skep met daaropvolgende kennisgewing). Byvoorbeeld:
1) vrye skyfspasie
2) groottes van DB data lΓͺers en log log
en so aan.
Al hierdie aanwysers wys egter nie die intydse navraagprobleem nie.
Om dit te doen, moet jy jou eie spesiale tellers skep.
Weens vertroulikheidsredes sal ek nie voorbeelde van sulke tellers gee nie. Boonop is hulle uniek vir elke stelsel gekonfigureer. Maar ek let daarop dat vir stelsels soos 1C, NAV en CRM gespesialiseerde tellers saam met die betrokke ontwikkelaars geskep kan word.
Ek sal 'n voorbeeld gee van die skep van 'n algemene aanwyser wat wys hoeveel versoeke uitgevoer word en hoeveel versoeke wag om uitgevoer te word (onderbreek of geblokkeer) op elke tydstip.
Om dit te doen, moet jy 'n gestoorde prosedure skep:
Kode
USE [ΠΠΠ―_ΠΠΠΠ«_ΠΠΠΠΠ«Π₯]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [nav].[ZabbixGetCountRequestStatus]
@Status nvarchar(255)
AS
BEGIN
/*
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ»-Π²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΡΠ°ΡΡΡΠΎΠΌ
*/
SET NOCOUNT ON;
select count(*) as [Count]
from sys.dm_exec_requests ER with(readuncommitted)
where [status]=@Status
END
Vervolgens moet u na die gids gaan waar Zabbix geleΓ« is (zabbixconfuserparams.d) en 2 lΓͺers met die ps1 (PowerShell)-uitbreiding skep en die volgende kodes in elk van hulle skryf:
Kode vir lopende versoeke
$SQLServer = "ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π";
$uid = "ΠΠΠΠΠ";
$pwd = "ΠΠΠ ΠΠΠ¬";
$Status="running";
$connectionString = "Server = $SQLServer; Database=ΠΠΠΠΠΠΠΠ_ΠΠ; Integrated Security = False; User ID = $uid; Password = $pwd;";
$connection = New-Object System.Data.SqlClient.SqlConnection;
$connection.ConnectionString = $connectionString;
#Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π·Π°ΠΏΡΠΎΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ MSSQL / Create a request directly to MSSQL
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand;
$SqlCmd.CommandType = [System.Data.CommandType]::StoredProcedure;
$SqlCmd.CommandText = "nav.ZabbixGetCountRequestStatus";
$SqlCmd.Connection = $Connection;
$paramStatus=$SqlCmd.Parameters.Add("@Status" , [System.Data.SqlDbType]::VarChar);
$paramStatus.Value = $Status;
$connection.Open();
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter;
$SqlAdapter.SelectCommand = $SqlCmd;
$DataSet = New-Object System.Data.DataSet;
$SqlAdapter.Fill($DataSet) > $null;
$connection.Close();
$result = $DataSet.Tables[0].Rows[0]["Count"];
write-host $result;
Kode vir hangende versoeke
$SQLServer = "ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π";
$uid = "ΠΠΠΠΠ";
$pwd = "ΠΠΠ ΠΠΠ¬";
$Status="suspended";
$connectionString = "Server = $SQLServer; Database=ΠΠΠΠΠΠΠΠ_ΠΠ; Integrated Security = False; User ID = $uid; Password = $pwd;";
$connection = New-Object System.Data.SqlClient.SqlConnection;
$connection.ConnectionString = $connectionString;
#Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π·Π°ΠΏΡΠΎΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ MSSQL / Create a request directly to MSSQL
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand;
$SqlCmd.CommandType = [System.Data.CommandType]::StoredProcedure;
$SqlCmd.CommandText = "nav.ZabbixGetCountRequestStatus";
$SqlCmd.Connection = $Connection;
$paramStatus=$SqlCmd.Parameters.Add("@Status" , [System.Data.SqlDbType]::VarChar);
$paramStatus.Value = $Status;
$connection.Open();
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter;
$SqlAdapter.SelectCommand = $SqlCmd;
$DataSet = New-Object System.Data.DataSet;
$SqlAdapter.Fill($DataSet) > $null;
$connection.Close();
$result = $DataSet.Tables[0].Rows[0]["Count"];
write-host $result;
Nou moet jy 'n lΓͺer met gebruikersparameters met die .conf-uitbreiding skep (of reΓ«ls by 'n bestaande sodanige gebruikerlΓͺer voeg as dit vroeΓ«r geskep is) en die volgende reΓ«ls invoeg:
UserParameter=PARAMETER_NAME_NUMBER_of_EXECUTED_QUERY,powershell -NoProfile -ExecutionPolicy Bypass -LΓͺer FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_EXECUTED_QUERY.ps1
UserParameter=PARAMETER_NAME_NUMBER_of_PENDING_REQUESTS,powershell -NoProfile -ExecutionPolicy Bypass -LΓͺer FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_PENDING_REQUESTS.ps1
Daarna stoor ons die .conf-lΓͺer en herbegin die Zabbix-agent.
Daarna voeg ons twee nuwe elemente by Zabbix (in hierdie geval is die name en die sleutel dieselfde):
NAME_PARAMETER_NUMBER_PERFORMED_QUERY
NAME_PARAMETER_NUMBER_PENDING_REQUESTS
Nou kan jy grafieke en snellers op die geskepte pasgemaakte items skep.
As die aantal hangende versoeke skerp toeneem, kan die volgende navraag alle lopende en hangende versoeke op 'n gegewe tyd vertoon met besonderhede van waar en onder watter aanmelding die versoek uitgevoer word, die teks en navraagplan, sowel as ander besonderhede:
Kode
/*ΠΠΊΡΠΈΠ²Π½ΡΠ΅, Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅, ΡΡΠΎ ΡΠ²Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π½ΡΡ*/
with tbl0 as (
select ES.[session_id]
,ER.[blocking_session_id]
,ER.[request_id]
,ER.[start_time]
,ER.[status]
,ES.[status] as [status_session]
,ER.[command]
,ER.[percent_complete]
,DB_Name(coalesce(ER.[database_id], ES.[database_id])) as [DBName]
,(select top(1) [text] from sys.dm_exec_sql_text(ER.[sql_handle])) as [TSQL]
,(select top(1) [objectid] from sys.dm_exec_sql_text(ER.[sql_handle])) as [objectid]
,(select top(1) [query_plan] from sys.dm_exec_query_plan(ER.[plan_handle])) as [QueryPlan]
,ER.[wait_type]
,ES.[login_time]
,ES.[host_name]
,ES.[program_name]
,ER.[wait_time]
,ER.[last_wait_type]
,ER.[wait_resource]
,ER.[open_transaction_count]
,ER.[open_resultset_count]
,ER.[transaction_id]
,ER.[context_info]
,ER.[estimated_completion_time]
,ER.[cpu_time]
,ER.[total_elapsed_time]
,ER.[scheduler_id]
,ER.[task_address]
,ER.[reads]
,ER.[writes]
,ER.[logical_reads]
,ER.[text_size]
,ER.[language]
,ER.[date_format]
,ER.[date_first]
,ER.[quoted_identifier]
,ER.[arithabort]
,ER.[ansi_null_dflt_on]
,ER.[ansi_defaults]
,ER.[ansi_warnings]
,ER.[ansi_padding]
,ER.[ansi_nulls]
,ER.[concat_null_yields_null]
,ER.[transaction_isolation_level]
,ER.[lock_timeout]
,ER.[deadlock_priority]
,ER.[row_count]
,ER.[prev_error]
,ER.[nest_level]
,ER.[granted_query_memory]
,ER.[executing_managed_code]
,ER.[group_id]
,ER.[query_hash]
,ER.[query_plan_hash]
,EC.[most_recent_session_id]
,EC.[connect_time]
,EC.[net_transport]
,EC.[protocol_type]
,EC.[protocol_version]
,EC.[endpoint_id]
,EC.[encrypt_option]
,EC.[auth_scheme]
,EC.[node_affinity]
,EC.[num_reads]
,EC.[num_writes]
,EC.[last_read]
,EC.[last_write]
,EC.[net_packet_size]
,EC.[client_net_address]
,EC.[client_tcp_port]
,EC.[local_net_address]
,EC.[local_tcp_port]
,EC.[parent_connection_id]
,EC.[most_recent_sql_handle]
,ES.[host_process_id]
,ES.[client_version]
,ES.[client_interface_name]
,ES.[security_id]
,ES.[login_name]
,ES.[nt_domain]
,ES.[nt_user_name]
,ES.[memory_usage]
,ES.[total_scheduled_time]
,ES.[last_request_start_time]
,ES.[last_request_end_time]
,ES.[is_user_process]
,ES.[original_security_id]
,ES.[original_login_name]
,ES.[last_successful_logon]
,ES.[last_unsuccessful_logon]
,ES.[unsuccessful_logons]
,ES.[authenticating_database_id]
,ER.[sql_handle]
,ER.[statement_start_offset]
,ER.[statement_end_offset]
,ER.[plan_handle]
,ER.[dop]
,coalesce(ER.[database_id], ES.[database_id]) as [database_id]
,ER.[user_id]
,ER.[connection_id]
from sys.dm_exec_requests ER with(readuncommitted)
right join sys.dm_exec_sessions ES with(readuncommitted)
on ES.session_id = ER.session_id
left join sys.dm_exec_connections EC with(readuncommitted)
on EC.session_id = ES.session_id
)
, tbl as (
select [session_id]
,[blocking_session_id]
,[request_id]
,[start_time]
,[status]
,[status_session]
,[command]
,[percent_complete]
,[DBName]
,OBJECT_name([objectid], [database_id]) as [object]
,[TSQL]
,[QueryPlan]
,[wait_type]
,[login_time]
,[host_name]
,[program_name]
,[wait_time]
,[last_wait_type]
,[wait_resource]
,[open_transaction_count]
,[open_resultset_count]
,[transaction_id]
,[context_info]
,[estimated_completion_time]
,[cpu_time]
,[total_elapsed_time]
,[scheduler_id]
,[task_address]
,[reads]
,[writes]
,[logical_reads]
,[text_size]
,[language]
,[date_format]
,[date_first]
,[quoted_identifier]
,[arithabort]
,[ansi_null_dflt_on]
,[ansi_defaults]
,[ansi_warnings]
,[ansi_padding]
,[ansi_nulls]
,[concat_null_yields_null]
,[transaction_isolation_level]
,[lock_timeout]
,[deadlock_priority]
,[row_count]
,[prev_error]
,[nest_level]
,[granted_query_memory]
,[executing_managed_code]
,[group_id]
,[query_hash]
,[query_plan_hash]
,[most_recent_session_id]
,[connect_time]
,[net_transport]
,[protocol_type]
,[protocol_version]
,[endpoint_id]
,[encrypt_option]
,[auth_scheme]
,[node_affinity]
,[num_reads]
,[num_writes]
,[last_read]
,[last_write]
,[net_packet_size]
,[client_net_address]
,[client_tcp_port]
,[local_net_address]
,[local_tcp_port]
,[parent_connection_id]
,[most_recent_sql_handle]
,[host_process_id]
,[client_version]
,[client_interface_name]
,[security_id]
,[login_name]
,[nt_domain]
,[nt_user_name]
,[memory_usage]
,[total_scheduled_time]
,[last_request_start_time]
,[last_request_end_time]
,[is_user_process]
,[original_security_id]
,[original_login_name]
,[last_successful_logon]
,[last_unsuccessful_logon]
,[unsuccessful_logons]
,[authenticating_database_id]
,[sql_handle]
,[statement_start_offset]
,[statement_end_offset]
,[plan_handle]
,[dop]
,[database_id]
,[user_id]
,[connection_id]
from tbl0
where [status] in ('suspended', 'running', 'runnable')
)
, tbl_group as (
select [blocking_session_id]
from tbl
where [blocking_session_id]<>0
group by [blocking_session_id]
)
, tbl_res_rec as (
select [session_id]
,[blocking_session_id]
,[request_id]
,[start_time]
,[status]
,[status_session]
,[command]
,[percent_complete]
,[DBName]
,[object]
,[TSQL]
,[QueryPlan]
,[wait_type]
,[login_time]
,[host_name]
,[program_name]
,[wait_time]
,[last_wait_type]
,[wait_resource]
,[open_transaction_count]
,[open_resultset_count]
,[transaction_id]
,[context_info]
,[estimated_completion_time]
,[cpu_time]
,[total_elapsed_time]
,[scheduler_id]
,[task_address]
,[reads]
,[writes]
,[logical_reads]
,[text_size]
,[language]
,[date_format]
,[date_first]
,[quoted_identifier]
,[arithabort]
,[ansi_null_dflt_on]
,[ansi_defaults]
,[ansi_warnings]
,[ansi_padding]
,[ansi_nulls]
,[concat_null_yields_null]
,[transaction_isolation_level]
,[lock_timeout]
,[deadlock_priority]
,[row_count]
,[prev_error]
,[nest_level]
,[granted_query_memory]
,[executing_managed_code]
,[group_id]
,[query_hash]
,[query_plan_hash]
,[most_recent_session_id]
,[connect_time]
,[net_transport]
,[protocol_type]
,[protocol_version]
,[endpoint_id]
,[encrypt_option]
,[auth_scheme]
,[node_affinity]
,[num_reads]
,[num_writes]
,[last_read]
,[last_write]
,[net_packet_size]
,[client_net_address]
,[client_tcp_port]
,[local_net_address]
,[local_tcp_port]
,[parent_connection_id]
,[most_recent_sql_handle]
,[host_process_id]
,[client_version]
,[client_interface_name]
,[security_id]
,[login_name]
,[nt_domain]
,[nt_user_name]
,[memory_usage]
,[total_scheduled_time]
,[last_request_start_time]
,[last_request_end_time]
,[is_user_process]
,[original_security_id]
,[original_login_name]
,[last_successful_logon]
,[last_unsuccessful_logon]
,[unsuccessful_logons]
,[authenticating_database_id]
,[sql_handle]
,[statement_start_offset]
,[statement_end_offset]
,[plan_handle]
,[dop]
,[database_id]
,[user_id]
,[connection_id]
, 0 as [is_blocking_other_session]
from tbl
union all
select tbl0.[session_id]
,tbl0.[blocking_session_id]
,tbl0.[request_id]
,tbl0.[start_time]
,tbl0.[status]
,tbl0.[status_session]
,tbl0.[command]
,tbl0.[percent_complete]
,tbl0.[DBName]
,OBJECT_name(tbl0.[objectid], tbl0.[database_id]) as [object]
,tbl0.[TSQL]
,tbl0.[QueryPlan]
,tbl0.[wait_type]
,tbl0.[login_time]
,tbl0.[host_name]
,tbl0.[program_name]
,tbl0.[wait_time]
,tbl0.[last_wait_type]
,tbl0.[wait_resource]
,tbl0.[open_transaction_count]
,tbl0.[open_resultset_count]
,tbl0.[transaction_id]
,tbl0.[context_info]
,tbl0.[estimated_completion_time]
,tbl0.[cpu_time]
,tbl0.[total_elapsed_time]
,tbl0.[scheduler_id]
,tbl0.[task_address]
,tbl0.[reads]
,tbl0.[writes]
,tbl0.[logical_reads]
,tbl0.[text_size]
,tbl0.[language]
,tbl0.[date_format]
,tbl0.[date_first]
,tbl0.[quoted_identifier]
,tbl0.[arithabort]
,tbl0.[ansi_null_dflt_on]
,tbl0.[ansi_defaults]
,tbl0.[ansi_warnings]
,tbl0.[ansi_padding]
,tbl0.[ansi_nulls]
,tbl0.[concat_null_yields_null]
,tbl0.[transaction_isolation_level]
,tbl0.[lock_timeout]
,tbl0.[deadlock_priority]
,tbl0.[row_count]
,tbl0.[prev_error]
,tbl0.[nest_level]
,tbl0.[granted_query_memory]
,tbl0.[executing_managed_code]
,tbl0.[group_id]
,tbl0.[query_hash]
,tbl0.[query_plan_hash]
,tbl0.[most_recent_session_id]
,tbl0.[connect_time]
,tbl0.[net_transport]
,tbl0.[protocol_type]
,tbl0.[protocol_version]
,tbl0.[endpoint_id]
,tbl0.[encrypt_option]
,tbl0.[auth_scheme]
,tbl0.[node_affinity]
,tbl0.[num_reads]
,tbl0.[num_writes]
,tbl0.[last_read]
,tbl0.[last_write]
,tbl0.[net_packet_size]
,tbl0.[client_net_address]
,tbl0.[client_tcp_port]
,tbl0.[local_net_address]
,tbl0.[local_tcp_port]
,tbl0.[parent_connection_id]
,tbl0.[most_recent_sql_handle]
,tbl0.[host_process_id]
,tbl0.[client_version]
,tbl0.[client_interface_name]
,tbl0.[security_id]
,tbl0.[login_name]
,tbl0.[nt_domain]
,tbl0.[nt_user_name]
,tbl0.[memory_usage]
,tbl0.[total_scheduled_time]
,tbl0.[last_request_start_time]
,tbl0.[last_request_end_time]
,tbl0.[is_user_process]
,tbl0.[original_security_id]
,tbl0.[original_login_name]
,tbl0.[last_successful_logon]
,tbl0.[last_unsuccessful_logon]
,tbl0.[unsuccessful_logons]
,tbl0.[authenticating_database_id]
,tbl0.[sql_handle]
,tbl0.[statement_start_offset]
,tbl0.[statement_end_offset]
,tbl0.[plan_handle]
,tbl0.[dop]
,tbl0.[database_id]
,tbl0.[user_id]
,tbl0.[connection_id]
, 1 as [is_blocking_other_session]
from tbl_group as tg
inner join tbl0 on tg.blocking_session_id=tbl0.session_id
)
,tbl_res_rec_g as (
select [plan_handle],
[sql_handle],
cast([start_time] as date) as [start_time]
from tbl_res_rec
group by [plan_handle],
[sql_handle],
cast([start_time] as date)
)
,tbl_rec_stat_g as (
select qs.[plan_handle]
,qs.[sql_handle]
--,cast(qs.[last_execution_time] as date) as [last_execution_time]
,min(qs.[creation_time]) as [creation_time]
,max(qs.[execution_count]) as [execution_count]
,max(qs.[total_worker_time]) as [total_worker_time]
,min(qs.[last_worker_time]) as [min_last_worker_time]
,max(qs.[last_worker_time]) as [max_last_worker_time]
,min(qs.[min_worker_time]) as [min_worker_time]
,max(qs.[max_worker_time]) as [max_worker_time]
,max(qs.[total_physical_reads]) as [total_physical_reads]
,min(qs.[last_physical_reads]) as [min_last_physical_reads]
,max(qs.[last_physical_reads]) as [max_last_physical_reads]
,min(qs.[min_physical_reads]) as [min_physical_reads]
,max(qs.[max_physical_reads]) as [max_physical_reads]
,max(qs.[total_logical_writes]) as [total_logical_writes]
,min(qs.[last_logical_writes]) as [min_last_logical_writes]
,max(qs.[last_logical_writes]) as [max_last_logical_writes]
,min(qs.[min_logical_writes]) as [min_logical_writes]
,max(qs.[max_logical_writes]) as [max_logical_writes]
,max(qs.[total_logical_reads]) as [total_logical_reads]
,min(qs.[last_logical_reads]) as [min_last_logical_reads]
,max(qs.[last_logical_reads]) as [max_last_logical_reads]
,min(qs.[min_logical_reads]) as [min_logical_reads]
,max(qs.[max_logical_reads]) as [max_logical_reads]
,max(qs.[total_clr_time]) as [total_clr_time]
,min(qs.[last_clr_time]) as [min_last_clr_time]
,max(qs.[last_clr_time]) as [max_last_clr_time]
,min(qs.[min_clr_time]) as [min_clr_time]
,max(qs.[max_clr_time]) as [max_clr_time]
,max(qs.[total_elapsed_time]) as [total_elapsed_time]
,min(qs.[last_elapsed_time]) as [min_last_elapsed_time]
,max(qs.[last_elapsed_time]) as [max_last_elapsed_time]
,min(qs.[min_elapsed_time]) as [min_elapsed_time]
,max(qs.[max_elapsed_time]) as [max_elapsed_time]
,max(qs.[total_rows]) as [total_rows]
,min(qs.[last_rows]) as [min_last_rows]
,max(qs.[last_rows]) as [max_last_rows]
,min(qs.[min_rows]) as [min_rows]
,max(qs.[max_rows]) as [max_rows]
,max(qs.[total_dop]) as [total_dop]
,min(qs.[last_dop]) as [min_last_dop]
,max(qs.[last_dop]) as [max_last_dop]
,min(qs.[min_dop]) as [min_dop]
,max(qs.[max_dop]) as [max_dop]
,max(qs.[total_grant_kb]) as [total_grant_kb]
,min(qs.[last_grant_kb]) as [min_last_grant_kb]
,max(qs.[last_grant_kb]) as [max_last_grant_kb]
,min(qs.[min_grant_kb]) as [min_grant_kb]
,max(qs.[max_grant_kb]) as [max_grant_kb]
,max(qs.[total_used_grant_kb]) as [total_used_grant_kb]
,min(qs.[last_used_grant_kb]) as [min_last_used_grant_kb]
,max(qs.[last_used_grant_kb]) as [max_last_used_grant_kb]
,min(qs.[min_used_grant_kb]) as [min_used_grant_kb]
,max(qs.[max_used_grant_kb]) as [max_used_grant_kb]
,max(qs.[total_ideal_grant_kb]) as [total_ideal_grant_kb]
,min(qs.[last_ideal_grant_kb]) as [min_last_ideal_grant_kb]
,max(qs.[last_ideal_grant_kb]) as [max_last_ideal_grant_kb]
,min(qs.[min_ideal_grant_kb]) as [min_ideal_grant_kb]
,max(qs.[max_ideal_grant_kb]) as [max_ideal_grant_kb]
,max(qs.[total_reserved_threads]) as [total_reserved_threads]
,min(qs.[last_reserved_threads]) as [min_last_reserved_threads]
,max(qs.[last_reserved_threads]) as [max_last_reserved_threads]
,min(qs.[min_reserved_threads]) as [min_reserved_threads]
,max(qs.[max_reserved_threads]) as [max_reserved_threads]
,max(qs.[total_used_threads]) as [total_used_threads]
,min(qs.[last_used_threads]) as [min_last_used_threads]
,max(qs.[last_used_threads]) as [max_last_used_threads]
,min(qs.[min_used_threads]) as [min_used_threads]
,max(qs.[max_used_threads]) as [max_used_threads]
from tbl_res_rec_g as t
inner join sys.dm_exec_query_stats as qs with(readuncommitted) on t.[plan_handle]=qs.[plan_handle]
and t.[sql_handle]=qs.[sql_handle]
and t.[start_time]=cast(qs.[last_execution_time] as date)
group by qs.[plan_handle]
,qs.[sql_handle]
--,qs.[last_execution_time]
)
select t.[session_id] --Π‘Π΅ΡΡΠΈΡ
,t.[blocking_session_id] --Π‘Π΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡ [session_id]
,t.[request_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠ°. Π£Π½ΠΈΠΊΠ°Π»Π΅Π½ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠ΅Π°Π½ΡΠ°
,t.[start_time] --ΠΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°
,DateDiff(second, t.[start_time], GetDate()) as [date_diffSec] --Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΊ ΠΏΡΠΎΡΠ»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°
,t.[status] --Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°
,t.[status_session] --Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ
,t.[command] --Π’ΠΈΠΏ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
, COALESCE(
CAST(NULLIF(t.[total_elapsed_time] / 1000, 0) as BIGINT)
,CASE WHEN (t.[status_session] <> 'running' and isnull(t.[status], '') <> 'running')
THEN DATEDIFF(ss,0,getdate() - nullif(t.[last_request_end_time], '1900-01-01T00:00:00.000'))
END
) as [total_time, sec] --ΠΡΠ΅ΠΌΡ Π²ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠ΅ΠΊ
, CAST(NULLIF((CAST(t.[total_elapsed_time] as BIGINT) - CAST(t.[wait_time] AS BIGINT)) / 1000, 0 ) as bigint) as [work_time, sec] --ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠ΅ΠΊ Π±Π΅Π· ΡΡΠ΅ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ
, CASE WHEN (t.[status_session] <> 'running' AND ISNULL(t.[status],'') <> 'running')
THEN DATEDIFF(ss,0,getdate() - nullif(t.[last_request_end_time], '1900-01-01T00:00:00.000'))
END as [sleep_time, sec] --ΠΡΠ΅ΠΌΡ ΡΠ½Π° Π² ΡΠ΅ΠΊ
, NULLIF( CAST((t.[logical_reads] + t.[writes]) * 8 / 1024 as numeric(38,2)), 0) as [IO, MB] --ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΠ
, CASE t.transaction_isolation_level
WHEN 0 THEN 'Unspecified'
WHEN 1 THEN 'ReadUncommited'
WHEN 2 THEN 'ReadCommited'
WHEN 3 THEN 'Repetable'
WHEN 4 THEN 'Serializable'
WHEN 5 THEN 'Snapshot'
END as [transaction_isolation_level_desc] --ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠ°)
,t.[percent_complete] --ΠΡΠΎΡΠ΅Π½Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄
,t.[DBName] --ΠΠ
,t.[object] --ΠΠ±ΡΠ΅ΠΊΡ
, SUBSTRING(
t.[TSQL]
, t.[statement_start_offset]/2+1
, (
CASE WHEN ((t.[statement_start_offset]<0) OR (t.[statement_end_offset]<0))
THEN DATALENGTH (t.[TSQL])
ELSE t.[statement_end_offset]
END
- t.[statement_start_offset]
)/2 +1
) as [CURRENT_REQUEST] --Π’Π΅ΠΊΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π·Π°ΠΏΡΠΎΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅
,t.[TSQL] --ΠΠ°ΠΏΡΠΎΡ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
,t.[QueryPlan] --ΠΠ»Π°Π½ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°
,t.[wait_type] --ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΈΠΏ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (sys.dm_os_wait_stats)
,t.[login_time] --ΠΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ°
,t.[host_name] --ΠΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΠ΅Π°Π½ΡΠ΅. ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[program_name] --ΠΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π»Π° ΡΠ΅Π°Π½Ρ. ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,cast(t.[wait_time]/1000 as decimal(18,3)) as [wait_timeSec] --ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[wait_time] --ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[last_wait_type] --ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ ΡΠ°Π½Π΅Π΅, Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠΈΠΏ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ
,t.[wait_resource] --ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΊΠ°Π·Π°Π½ ΡΠ΅ΡΡΡΡ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ
,t.[open_transaction_count] --Π§ΠΈΡΠ»ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΎΡΠΊΡΡΡΡΡ
Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[open_resultset_count] --Π§ΠΈΡΠ»ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΡ
Π½Π°Π±ΠΎΡΠΎΠ², ΠΎΡΠΊΡΡΡΡΡ
Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[transaction_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ
,t.[context_info] --ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ CONTEXT_INFO ΡΠ΅Π°Π½ΡΠ°
,cast(t.[estimated_completion_time]/1000 as decimal(18,3)) as [estimated_completion_timeSec] --Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL
,t.[estimated_completion_time] --Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL
,cast(t.[cpu_time]/1000 as decimal(18,3)) as [cpu_timeSec] --ΠΡΠ΅ΠΌΡ Π¦Π (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
), Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°
,t.[cpu_time] --ΠΡΠ΅ΠΌΡ Π¦Π (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
), Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°
,cast(t.[total_elapsed_time]/1000 as decimal(18,3)) as [total_elapsed_timeSec] --ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΈΡΡΠ΅ΠΊΡΠ΅Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[total_elapsed_time] --ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, ΠΈΡΡΠ΅ΠΊΡΠ΅Π΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[scheduler_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
,t.[task_address] --ΠΠ΄ΡΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ
,t.[reads] --Π§ΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ
,t.[writes] --Π§ΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ
,t.[logical_reads] --Π§ΠΈΡΠ»ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ
,t.[text_size] --Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° TEXTSIZE Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[language] --Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ·ΡΠΊΠ° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[date_format] --Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° DATEFORMAT Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[date_first] --Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° DATEFIRST Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[quoted_identifier] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ QUOTED_IDENTIFIER Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[arithabort] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ARITHABORT Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[ansi_null_dflt_on] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ANSI_NULL_DFLT_ON Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[ansi_defaults] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ANSI_DEFAULTS Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[ansi_warnings] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ANSI_WARNINGS Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[ansi_padding] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ANSI_PADDING Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON)
,t.[ansi_nulls] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ ANSI_NULLS Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[concat_null_yields_null] --1 = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ CONCAT_NULL_YIELDS_NULL Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ (ON). Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β 0
,t.[transaction_isolation_level] --Π£ΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠΎΠ·Π΄Π°Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,cast(t.[lock_timeout]/1000 as decimal(18,3)) as [lock_timeoutSec] --ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[lock_timeout] --ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
,t.[deadlock_priority] --ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° DEADLOCK_PRIORITY Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[row_count] --Π§ΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ
,t.[prev_error] --ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΡΠΎΠΈΡΡΠ΅Π΄ΡΠ°Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°
,t.[nest_level] --Π’Π΅ΠΊΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
,t.[granted_query_memory] --Π§ΠΈΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΈΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ
Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (1 ΡΡΡΠ°Π½ΠΈΡΠ°-ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 8 ΠΠ)
,t.[executing_managed_code] --Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π»ΠΈ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΡΠ΅Π΄Ρ CLR (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΠΈΠΏΠ° ΠΈΠ»ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠ°).
--ΠΡΠΎΡ ΡΠ»Π°Π³ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ΅Π΄Ρ CLR Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΡΡΠ΅Π΄Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ΄ Transact-SQL
,t.[group_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π³ΡΡΠΏΠΏΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ
,t.[query_hash] --ΠΠ²ΠΎΠΈΡΠ½ΠΎΠ΅ Ρ
ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.
--ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ
ΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ
,t.[query_plan_hash] --ΠΠ²ΠΎΠΈΡΠ½ΠΎΠ΅ Ρ
ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°Π½ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
--ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ
ΡΡ ΠΏΠ»Π°Π½Π° Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΠΉ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠΎ ΡΡ
ΠΎΠΆΠΈΠΌΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
,t.[most_recent_session_id] --ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π°Π½ΡΠ° ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
,t.[connect_time] --ΠΡΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
,t.[net_transport] --Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
,t.[protocol_type] --Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
,t.[protocol_version] --ΠΠ΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
,t.[endpoint_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠΈΠΏ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ endpoint_id ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ sys.endpoints
,t.[encrypt_option] --ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π»ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
,t.[auth_scheme] --Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡ
Π΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ (SQL Server ΠΈΠ»ΠΈ Windows), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ
,t.[node_affinity] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ·Π΅Π» ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅
,t.[num_reads] --Π§ΠΈΡΠ»ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΡΠΈΠ½ΡΡΡΡ
ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
,t.[num_writes] --Π§ΠΈΡΠ»ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
,t.[last_read] --ΠΡΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ
,t.[last_write] --ΠΡΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ
,t.[net_packet_size] --Π Π°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
,t.[client_net_address] --Π‘Π΅ΡΠ΅Π²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
,t.[client_tcp_port] --ΠΠΎΠΌΠ΅Ρ ΠΏΠΎΡΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
,t.[local_net_address] --IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° Π΄Π°Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP
,t.[local_tcp_port] --TCP-ΠΏΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π΅ΡΠ»ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TCP
,t.[parent_connection_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΠ΅Π°Π½ΡΠ΅ MARS
,t.[most_recent_sql_handle] --ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° SQL, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ»Π±ΡΠΎΠΌ most_recent_sql_handle ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠΌ most_recent_session_id
,t.[host_process_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π»Π° ΡΠ΅Π°Π½Ρ. ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[client_version] --ΠΠ΅ΡΡΠΈΡ TDS-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[client_interface_name] --ΠΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[security_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Microsoft Windows, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Ρ
ΠΎΠ΄Π°
,t.[login_name] --SQL Server ΠΠΌΡ Π²Ρ
ΠΎΠ΄Π°, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ΅Π°Π½Ρ.
--Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ Π²Ρ
ΠΎΠ΄Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ΅Π°Π½Ρ, ΡΠΌ. ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ original_login_name.
--ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ SQL Server ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π²Ρ
ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π°, ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ Windows
,t.[nt_domain] --ΠΠΎΠΌΠ΅Π½ Windows Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ Windows ΠΈΠ»ΠΈ Π΄ΠΎΠ²Π΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
--ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΡΠ΅Π°Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ
ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[nt_user_name] --ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Windows Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π½ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ Windows ΠΈΠ»ΠΈ Π΄ΠΎΠ²Π΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
--ΠΠ»Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ
ΡΠ΅Π°Π½ΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ
ΠΊ Π΄ΠΎΠΌΠ΅Π½Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ NULL
,t.[memory_usage] --ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ 8-ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠΎΠ²ΡΡ
ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΠΌ ΡΠ΅Π°Π½ΡΠΎΠΌ
,t.[total_scheduled_time] --ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ΅Π°Π½ΡΡ (Π²ΠΊΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ) Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
,t.[last_request_start_time] --ΠΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΡΠ°Π»ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΠΎΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
,t.[last_request_end_time] --ΠΡΠ΅ΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ
Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ°
,t.[is_user_process] --0, Π΅ΡΠ»ΠΈ ΡΠ΅Π°Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ 1
,t.[original_security_id] --Microsoft ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Windows, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ original_login_name
,t.[original_login_name] --SQL Server ΠΠΌΡ Π²Ρ
ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π» Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π°Π½Ρ.
--ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠΌΡ Π²Ρ
ΠΎΠ΄Π° SQL Server, ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ, ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠΌΠ΅Π½Π° Windows,
--ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
--ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Π°Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ²Π½ΡΡ
ΠΈΠ»ΠΈ ΡΠ²Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
--ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ EXECUTE AS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
,t.[last_successful_logon] --ΠΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ original_login_name Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°
,t.[last_unsuccessful_logon] --ΠΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ original_login_name Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ΅Π°Π½ΡΠ°
,t.[unsuccessful_logons] --Π§ΠΈΡΠ»ΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΡΡ
ΠΏΠΎΠΏΡΡΠΎΠΊ Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ original_login_name ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ last_successful_logon ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ login_time
,t.[authenticating_database_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°.
--ΠΠ»Ρ ΠΈΠΌΠ΅Π½ Π²Ρ
ΠΎΠ΄Π° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0.
--ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
,t.[sql_handle] --Π₯ΡΡ-ΠΊΠ°ΡΡΠ° ΡΠ΅ΠΊΡΡΠ° SQL-Π·Π°ΠΏΡΠΎΡΠ°
,t.[statement_start_offset] --ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Ρ
ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ.
--ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ sql_handle, statement_end_offset ΠΈ sys.dm_exec_sql_text
--Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ
,t.[statement_end_offset] --ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΈΠ»ΠΈ Ρ
ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ.
--ΠΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ sql_handle, statement_end_offset ΠΈ sys.dm_exec_sql_text
--Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ
,t.[plan_handle] --Π₯ΡΡ-ΠΊΠ°ΡΡΠ° ΠΏΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL
,t.[database_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ
,t.[user_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡΠΏΡΠ°Π²ΠΈΠ²ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
,t.[connection_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΡΡΡΠΏΠΈΠ» Π·Π°ΠΏΡΠΎΡ
,t.[is_blocking_other_session] --1-ΡΠ΅ΡΡΠΈΡ ΡΠ²Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ, 0-ΡΠ΅ΡΡΠΈΡ ΡΠ²Π½ΠΎ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ
,coalesce(t.[dop], mg.[dop]) as [dop] --Π‘ΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° Π·Π°ΠΏΡΠΎΡΠ°
,mg.[request_time] --ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ
,mg.[grant_time] --ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΠ°ΠΌΡΡΡ. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°
,mg.[requested_memory_kb] --ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
,mg.[granted_memory_kb] --ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
.
--ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°.
--ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Ρ requested_memory_kb.
--ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ,
--ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
,mg.[required_memory_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
(ΠΠ), Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ requested_memory_kb ΡΠ°Π²Π½ΠΎ ΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π΅Π³ΠΎ
,mg.[used_memory_kb] --ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ΅ΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
)
,mg.[max_used_memory_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
,mg.[query_cost] --ΠΠΆΠΈΠ΄Π°Π΅ΠΌΠ°Ρ ΡΡΠΎΠΈΠΌΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°
,mg.[timeout_sec] --ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
Π΄ΠΎ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ
,mg.[resource_semaphore_id] --ΠΠ΅ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ
,mg.[queue_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΠ΅ΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°
,mg.[wait_order] --ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ queue_id.
--ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΅Π΅.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°
,mg.[is_next_candidate] --Π―Π²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (1 = Π΄Π°, 0 = Π½Π΅Ρ, NULL = ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°)
,mg.[wait_time_ms] --ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, Π΅ΡΠ»ΠΈ ΠΏΠ°ΠΌΡΡΡ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π°
,mg.[pool_id] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π΄Π°Π½Π½Π°Ρ Π³ΡΡΠΏΠΏΠ° ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
,mg.[is_small] --ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ 1 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°Π»ΡΠΉ ΡΠ΅ΠΌΠ°ΡΠΎΡ ΡΠ΅ΡΡΡΡΠ°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ 0 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°
,mg.[ideal_memory_kb] --ΠΠ±ΡΠ΅ΠΌ, Π² ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ°Ρ
(ΠΠ), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π΄Π°Π½Π½ΡΡ
Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
--ΠΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
,mg.[reserved_worker_count] --Π§ΠΈΡΠ»ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π²ΡΠ΅ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
,mg.[used_worker_count] --Π§ΠΈΡΠ»ΠΎ ΡΠ°Π±ΠΎΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²
,mg.[max_used_worker_count] --???
,mg.[reserved_node_bitmap] --???
,pl.[bucketid] --ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ° Ρ
ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ 0 Π΄ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΈΠΏΠ° ΠΊΡΡΠ°.
--ΠΠ»Ρ ΠΊΡΡΠ΅ΠΉ SQL Plans ΠΈ Object Plans ΡΠ°Π·ΠΌΠ΅Ρ Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ 10007 Π½Π° 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ 40009 β Π½Π° 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
.
--ΠΠ»Ρ ΠΊΡΡΠ° Bound Trees ΡΠ°Π·ΠΌΠ΅Ρ Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ 1009 Π½Π° 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ 4001 Π½Π° 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
.
--ΠΠ»Ρ ΠΊΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΡ
Ρ
ΡΠ°Π½ΠΈΠΌΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡ 127 Π½Π° 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
ΠΈ 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΡΠΈΡΡΠ΅ΠΌ
,pl.[refcounts] --Π§ΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΡΡΠ°, ΡΡΡΠ»Π°ΡΡΠΈΡ
ΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΡΡΠ°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ refcounts Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ 1, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΊΡΡΠ΅
,pl.[usecounts] --ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΡΡΠ°.
--ΠΡΡΠ°Π΅ΡΡΡ Π±Π΅Π· ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠ»Π°Π½ Π² ΠΊΡΡΠ΅.
--ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ showplan
,pl.[size_in_bytes] --Π§ΠΈΡΠ»ΠΎ Π±Π°ΠΉΡΠΎΠ², Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΡΡΠ°
,pl.[memory_object_address] --ΠΠ΄ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
--ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ sys.dm_os_memory_objects,
--ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°,
--ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ sys.dm_os_memory_cache_entries Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π·Π°ΡΡΠ°Ρ Π½Π° ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ
,pl.[cacheobjtype] --Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΊΡΡΠ΅. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
,pl.[objtype] --Π’ΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
,pl.[parent_plan_handle] --Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΠ»Π°Π½
--Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· sys.dm_exec_query_stats Π±ΡΠ°Π»ΠΈΡΡ Π·Π° ΡΡΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ»Π° ΠΏΠ°ΡΠ° (Π·Π°ΠΏΡΠΎΡ, ΠΏΠ»Π°Π½)
,qs.[creation_time] --ΠΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠ»Π°Π½Π°
,qs.[execution_count] --ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
,qs.[total_worker_time] --ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π¦Π, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[min_last_worker_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π¦Π, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[max_last_worker_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π¦Π, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[min_worker_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π¦Π, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[max_worker_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π¦Π, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[total_physical_reads] --ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_last_physical_reads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_last_physical_reads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_physical_reads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_physical_reads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[total_logical_writes] --ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_last_logical_writes] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ Π² Π±ΡΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠ»Π΅, Π·Π°Π³ΡΡΠ·Π½Π΅Π½Π½ΡΡ
Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Π³ΡΡΠ·Π½ΠΎΠΉΒ» (Ρ. Π΅. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ), ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_last_logical_writes] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ Π² Π±ΡΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠ»Π΅, Π·Π°Π³ΡΡΠ·Π½Π΅Π½Π½ΡΡ
Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Π³ΡΡΠ·Π½ΠΎΠΉΒ» (Ρ. Π΅. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ), ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_logical_writes] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_logical_writes] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[total_logical_reads] --ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_last_logical_reads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_last_logical_reads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_logical_reads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_logical_reads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π·Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0 ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[total_clr_time] --ΠΡΠ΅ΠΌΡ, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ),
--Π²Π½ΡΡΡΠΈ Microsoft .NET Framework ΠΎΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (CLR) ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
,qs.[min_last_clr_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ),
--Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π²Π½ΡΡΡΠΈ .NET Framework ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
,qs.[max_last_clr_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ),
--Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π²Π½ΡΡΡΠΈ .NET Framework ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
,qs.[min_clr_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° Π²Π½ΡΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² .NET Framework ΡΡΠ΅Π΄Ρ CLR,
--Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ).
--ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
,qs.[max_clr_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π° Π²Π½ΡΡΡΠΈ ΡΡΠ΅Π΄Ρ CLR .NET Framework,
--Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ).
--ΠΠ±ΡΠ΅ΠΊΡΡ ΡΡΠ΅Π΄Ρ CLR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΠΌΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠΈΠ³Π³Π΅ΡΠ°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
--,qs.[total_elapsed_time] --ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[min_last_elapsed_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[max_last_elapsed_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[min_elapsed_time] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[max_elapsed_time] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°, Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
(Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ)
,qs.[total_rows] --ΠΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0, Π΅ΡΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_last_rows] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0, Π΅ΡΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_last_rows] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ
ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null.
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0, Π΅ΡΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[min_rows] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ
ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0, Π΅ΡΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[max_rows] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ, ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΡ
ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½
--ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π²Π½ΠΎ 0, Π΅ΡΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ
ΡΠ°Π½ΠΈΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ
,qs.[total_dop] --ΠΠ±ΡΡΡ ΡΡΠΌΠΌΡ ΠΏΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΏΠ»Π°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_dop] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_dop] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_dop] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_dop] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[total_grant_kb] --ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎΡ ΠΏΠ»Π°Π½, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΠ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΠ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ Π² Ρ
ΠΎΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ Π² Ρ
ΠΎΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[total_used_grant_kb] --ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎΡ ΠΏΠ»Π°Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_used_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_used_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_used_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_used_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[total_ideal_grant_kb] --ΠΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΠΌΡΡΡ Π² ΠΠ, ΠΎΡΠ΅Π½ΠΊΠ° ΠΏΠ»Π°Π½Π° Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_ideal_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΠ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_ideal_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π² ΠΠ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_ideal_grant_kb] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΠ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_ideal_grant_kb] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΠ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[total_reserved_threads] --ΠΠ±ΡΠ°Ρ ΡΡΠΌΠΌΠ° ΠΏΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_reserved_threads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_reserved_threads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_reserved_threads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_reserved_threads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[total_used_threads] --ΠΠ±ΡΠ°Ρ ΡΡΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΡΠΎΡ ΠΏΠ»Π°Π½ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠ΅Π³ΠΎΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_last_used_threads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_last_used_threads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ»Π°Π½Π°.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[min_used_threads] --ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
,qs.[max_used_threads] --ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎΡΠΎΠΊΠΎΠ², ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ.
--ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΠ°ΠΌΡΡΠΈ
from tbl_res_rec as t
left outer join sys.dm_exec_query_memory_grants as mg on t.[plan_handle]=mg.[plan_handle] and t.[sql_handle]=mg.[sql_handle]
left outer join sys.dm_exec_cached_plans as pl on t.[plan_handle]=pl.[plan_handle]
left outer join tbl_rec_stat_g as qs on t.[plan_handle]=qs.[plan_handle] and t.[sql_handle]=qs.[sql_handle] --and qs.[last_execution_time]=cast(t.[start_time] as date);
Laat ek jou ook herinner dat jy volgens die versamelde statistieke die moeilikste versoeke kan kry:
Kode
/*
creation_time - ΠΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΡΡ ΠΏΡΡΡΠΎΠΉ, Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΡΠ°Π²Π½ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΡΠ»ΠΈ Π²ΡΠ΅ΠΌΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅, ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ (ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ), ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π±ΡΠ» ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½.
last_execution_time - ΠΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°.
execution_count - Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ
- ΡΠ°ΡΡΠΎ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
Π·Π°ΠΏΡΠΎΡΠ°Ρ
ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΡΠΈΠΊΠ»ΠΎΠ² ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΠΈΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π½Π΅ ΠΌΠ΅Π½ΡΡΡΠΈΡ
ΡΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°.
CPU - Π‘ΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
. ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ, ΡΠΎ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π²ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΌΠΌΠΈΡΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ΄ΡΠΎΠΌ. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΄ΡΠ°, Π² Π½Π΅Π΅ Π½Π΅ Π²Ρ
ΠΎΠ΄ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ.
AvgCPUTime - Π‘ΡΠ΅Π΄Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π½Π° ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ.
TotDuration - ΠΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°, Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
.
ΠΠ°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅Ρ
Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ "Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠ»Π³ΠΎ". ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π½ΠΈΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ CPU (Ρ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΎΠΉ Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ) - ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ². Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΡΡΡ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠΏΠΎΠ² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ sys.dm_os_wait_stats.
AvgDur - Π‘ΡΠ΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
.
Reads - ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΎ ΠΏΠΎΠΆΠ°Π»ΡΠΉ Π»ΡΡΡΠΈΠΉ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΡΠ²ΠΈΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π³ΡΡΠΆΠ°ΡΡΠΈΠ΅ ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΏΡΠΎΡΡ.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ - ΡΡΠΎ ΡΠ°Π·ΠΎΠ²ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ.
Π ΡΠ°ΠΌΠΊΠ°Ρ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ
ΡΡΠ΅Π½ΠΈΠΉ, ΠΏΠ°ΠΌΡΡΠΈ ΠΈ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ
ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΡ
, Π±ΠΎΠ»ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ.
Writes - ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΡΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ "Π½Π°Π³ΡΡΠΆΠ°Π΅Ρ" Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 0 Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅Ρ
Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈ Ρ ΡΠ΅Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² tempdb.
AggIO - ΠΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° (ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ)
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΈ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π² ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
.
AvgIO - Π‘ΡΠ΅Π΄Π½Π΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄ΠΈΡΠΊΠΎΠ²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
ΠΠ΄Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ
- ΡΡΠΎ 8192 Π±Π°ΠΉΡΠ°. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ Π΄Π°Π½Π½ΡΡ
, "ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ
" Π΄Π°Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ (ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ°Ρ
), ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
Π― Π²ΡΡΡΠ΅ΡΠ°Π» ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Π΄Π΅Π»Π°Π» ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΌΡ Π² 5Π’Π±, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
Π² ΡΡΠΎ ΠΠ Π±ΡΠ» 300ΠΠ±, Π° ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ
Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π» 10ΠΠ±.
Π ΠΎΠ±ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄Π½Ρ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° - Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°Π·Ρ ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ
, ΡΠΎ ΡΡΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡΠΌ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ
. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π½Π΅ΠΌΡ, Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ
Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ Π±ΡΡΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ - Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ°Π»ΡΡ Π±Ρ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΎ ΠΌΠ΅ΡΠ°ΡΡ... ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ»ΠΈ ΡΠΈΠΏ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½.
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ - Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΡΡΠ°ΡΠ΅Π»Π° ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
query_text - Π’Π΅ΠΊΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
database_name - ΠΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π² Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ. NULL Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ
object_name - ΠΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡ.
*/
with s as (
select creation_time,
last_execution_time,
execution_count,
total_worker_time/1000 as CPU,
convert(money, (total_worker_time))/(execution_count*1000)as [AvgCPUTime],
qs.total_elapsed_time/1000 as TotDuration,
convert(money, (qs.total_elapsed_time))/(execution_count*1000)as [AvgDur],
total_logical_reads as [Reads],
total_logical_writes as [Writes],
total_logical_reads+total_logical_writes as [AggIO],
convert(money, (total_logical_reads+total_logical_writes)/(execution_count + 0.0))as [AvgIO],
[sql_handle],
plan_handle,
statement_start_offset,
statement_end_offset
from sys.dm_exec_query_stats as qs with(readuncommitted)
where convert(money, (qs.total_elapsed_time))/(execution_count*1000)>=100 --Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 100 ΠΌΡ
)
select
s.creation_time,
s.last_execution_time,
s.execution_count,
s.CPU,
s.[AvgCPUTime],
s.TotDuration,
s.[AvgDur],
s.[Reads],
s.[Writes],
s.[AggIO],
s.[AvgIO],
--st.text as query_text,
case
when sql_handle IS NULL then ' '
else(substring(st.text,(s.statement_start_offset+2)/2,(
case
when s.statement_end_offset =-1 then len(convert(nvarchar(MAX),st.text))*2
else s.statement_end_offset
end - s.statement_start_offset)/2 ))
end as query_text,
db_name(st.dbid) as database_name,
object_schema_name(st.objectid, st.dbid)+'.'+object_name(st.objectid, st.dbid) as [object_name],
sp.[query_plan],
s.[sql_handle],
s.plan_handle
from s
cross apply sys.dm_exec_sql_text(s.[sql_handle]) as st
cross apply sys.dm_exec_query_plan(s.[plan_handle]) as sp
Jy kan ook vir MySQL skryf. Om dit te doen, moet jy installeer
Kode vir hangende versoeke
#ΠΠ°Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ MySQL ΠΈ ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
[string]$sMySQLUserName = 'UserName'
[string]$sMySQLPW = 'UserPassword'
[string]$sMySQLDB = 'db'
[string]$sMySQLHost = 'IP-address'
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data");
[string]$sConnectionString = "server="+$sMySQLHost+";port=3306;uid=" + $sMySQLUserName + ";pwd="+"'" + $sMySQLPW +"'"+ ";database="+$sMySQLDB;
#Open a Database connection
$oConnection = New-Object MySql.Data.MySqlClient.MySqlConnection($sConnectionString)
$Error.Clear()
try
{
$oConnection.Open()
}
catch
{
write-warning ("Could not open a connection to Database $sMySQLDB on Host $sMySQLHost. Error: "+$Error[0].ToString())
}
#The first query
# Get an instance of all objects need for a SELECT query. The Command object
$oMYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand;
# DataAdapter Object
$oMYSQLDataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter;
# And the DataSet Object
$oMYSQLDataSet = New-Object System.Data.DataSet;
# Assign the established MySQL connection
$oMYSQLCommand.Connection=$oConnection;
# Define a SELECT query
$oMYSQLCommand.CommandText='query';
$oMYSQLDataAdapter.SelectCommand=$oMYSQLCommand;
# Execute the query
$count=$oMYSQLDataAdapter.Fill($oMYSQLDataSet, "data");
$result = $oMYSQLDataSet.Tables[0].Rows[0]["Count"];
write-host $result;
Gevolg
Hierdie artikel het 'n voorbeeld van prestasietellers (items) in Zabbix gedek. Met hierdie benadering kan u administrateurs intyds of na 'n sekere tyd in kennis stel van verskeie probleme. So, hierdie benadering maak dit moontlik om die voorkoms van 'n kritieke probleem in die toekoms te minimaliseer en die werking van die DBBS en die bediener te stop, wat op sy beurt produksie beskerm teen die stop van werkprosesse.
Vorige artikel:
Bronne:
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Bron: will.com