Defnyddio Zabbix i Fonitro Cronfa Ddata Gweinyddwr MS SQL

Rhagair

Yn aml mae angen hysbysu'r gweinyddwr am broblemau sy'n ymwneud Γ’'r gronfa ddata (cronfa ddata) mewn amser real.

Bydd yr erthygl hon yn disgrifio'r hyn sydd angen ei ffurfweddu yn Zabbix i fonitro cronfa ddata MS SQL Server.

Tynnaf eich sylw at y ffaith na roddir yn fanwl sut i ffurfweddu, fodd bynnag, yn yr erthygl hon rhoddir fformiwlΓ’u ac argymhellion cyffredinol, yn ogystal Γ’ disgrifiad manwl o ychwanegu elfennau data arfer trwy weithdrefnau storio.
Hefyd, dim ond y prif gownteri perfformiad fydd yn cael eu hystyried yma.

penderfyniad

Yn gyntaf, byddaf yn disgrifio'r holl cownteri perfformiad hynny (trwy eitemau yn Zabbix) sydd eu hangen arnom:

  1. Disg Rhesymegol
    1. Cyf sec Disg/Darllen
      Yn dangos yr amser cyfartalog mewn eiliadau i ddarllen data oddi ar ddisg. Gwerth cyfartalog y rhifydd perfformiad Cyf. Ni ddylai sec/Read disg fod yn fwy na 10 milieiliad. Gwerth uchaf y cownter perfformiad Cyf. Ni ddylai sec/Read disg fod yn fwy na 50 milieiliad.

      Zabbix: perf_counter[ LogicalDisk(_Total)Avg. Disg sec/Read], ac mae hefyd yn bwysig cadw golwg ar y ddisg a ddymunir, er enghraifft: perf_counter[LogicalDisk(C:)Avg. Eiliad disg/Darllen]

      Enghreifftiau Sbardun:
      {NOTE_NAME:perf_counter[ LogicalDisk(_Total)Avg. Disg sec/Read].last()}> 0.005, lefel-uchel
      ΠΈ
      {NOTE_NAME:perf_counter[ LogicalDisk(_Total)Avg. Disg sec/Read].last()}> 0.0025, lefel-canolig

    2. Cyf sec/Ysgrifennu
      Yn dangos yr amser cyfartalog mewn eiliadau i ysgrifennu data i ddisg. Gwerth cyfartalog y rhifydd perfformiad Cyf. Ni ddylai sec disg/Ysgrifennu fod yn fwy na 10 milieiliad. Gwerth uchaf y cownter perfformiad Cyf. Ni ddylai sec disg/Ysgrifennu fod yn fwy na 50 milieiliad.

      Zabbix: perf_counter[ LogicalDisk(_Total)Avg. Disk sec/Write], ac mae hefyd yn bwysig cadw golwg ar y ddisg a ddymunir, er enghraifft: perf_counter[LogicalDisk(C:)Avg. Ail ddisg/Ysgrifennu]

      Enghreifftiau Sbardun:
      {NOTE_NAME:perf_counter[ LogicalDisk(_Total)Avg. Disg sec/Write].last()}> 0.005, lefel-uchel
      ΠΈ
      {NOTE_NAME:perf_counter[ LogicalDisk(_Total)Avg. Disg sec/Write].last()}> 0.0025, lefel-canolig

    3. Cyf Hyd Ciw Disg

      Hyd cyfartalog y ciw cais i'r ddisg. Yn dangos nifer y ceisiadau disg yn yr arfaeth yn ystod cyfnod amser penodol. Nid yw'r ciw arferol yn fwy na 2 ar gyfer disg sengl. Os oes mwy na dau gais yn y ciw, yna mae'n debyg bod y ddisg wedi'i gorlwytho ac nid oes ganddo amser i brosesu ceisiadau sy'n dod i mewn. Gallwch ddefnyddio'r cownteri Cyfradd i ddarganfod yn union pa weithrediadau na all y ddisg eu trin. Disg Darllen Hyd Ciw (darllenwch y ciw cais) a Chyf. Hyd Ciw Disg Wright (ysgrifennu ciw cais).
      gwerth cyf. Nid yw Hyd Ciw Disg yn cael ei fesur, ond yn cael ei gyfrifo yn unol Γ’ chyfraith Little o ddamcaniaeth fathemategol ciwiau. Yn Γ΄l y gyfraith hon, mae nifer y ceisiadau sy'n aros i gael eu prosesu, ar gyfartaledd, yn cyfateb i amlder y ceisiadau a dderbyniwyd, wedi'i luosi ag amser prosesu'r cais. Y rhai. yn ein hachos ni Avg. Hyd Ciw Disg = (Trosglwyddiadau Disg/eiliad) * (Cyf. sec disg/Trosglwyddo).

      Awst. Rhoddir Hyd Ciw Disg fel un o'r prif gownteri i bennu llwyth gwaith yr is-system ddisg, fodd bynnag, er mwyn ei amcangyfrif yn ddigonol, mae angen cynrychioli strwythur ffisegol y system storio yn gywir. Er enghraifft, ar gyfer disg galed sengl, mae gwerth mwy na 2 yn cael ei ystyried yn hanfodol, ac os yw'r ddisg wedi'i lleoli ar gyfres RAID o 4 disg, yna dylech chi boeni os yw'r gwerth yn fwy na 4 * 2 = 8.

      Zabbix: perf_counter[ LogicalDisk(_Total)Avg. Hyd Ciw Disg], ac mae hefyd yn bwysig cadw golwg ar y ddisg a ddymunir, er enghraifft: perf_counter[LogicalDisk(C:)Avg. Hyd Ciw Disg]

  2. cof
    1. Tudalennau/eiliad
      Yn dangos nifer y tudalennau a ddarllenodd SQL Server o ddisg neu a ysgrifennodd i ddisg er mwyn datrys mynediadau i dudalennau cof nad oeddent wedi'u llwytho i'r prif gof ar adeg y mynediad. Y gwerth hwn yw cyfanswm y gwerthoedd Mewnbwn/eiliad Tudalennau ac Allbwn/eiliad Tudalennau, ac mae hefyd yn ystyried paging (cyfnewid/cyfnewid) storfa'r system ar gyfer cyrchu ffeiliau data'r rhaglen. Mae hefyd yn cynnwys tudalennu ffeiliau heb eu storio'n uniongyrchol wedi'u mapio Γ’ chof. Dyma'r prif gownter i'w wylio os ydych chi'n profi defnydd uchel o'r cof a phaging gormodol cysylltiedig. Mae'r rhifydd hwn yn nodweddu swm y cyfnewid a dylai ei werth arferol (nid brig) fod yn agos at sero. Mae cynnydd mewn cyfnewid yn dangos yr angen i gynyddu RAM neu leihau nifer y cymwysiadau sy'n rhedeg ar y gweinydd.

      Zabbix: cownter_perf[Tudalennau Cof/eiliad] Enghraifft Sbardun:
      {NOTE_NAME:perf_counter[MemoryPages/sec].min(5m)}> 1000, gwybodaeth lefel

    2. Tudalen Diffygion/eiliad

      Dyma werth rhifydd nam tudalen. Mae nam tudalen yn digwydd pan fydd proses yn cyfeirio at dudalen cof rhithwir nad yw yn y set weithredol o RAM. Mae'r rhifydd hwn yn ystyried y diffygion tudalen hynny sydd angen mynediad disg a'r rhai a achosir gan fod y dudalen y tu allan i'r set weithio yn RAM. Gall y rhan fwyaf o broseswyr drin namau math XNUMX dudalen heb lawer o oedi. Fodd bynnag, gall ymdrin Γ’ diffygion tudalen Math XNUMX, sy'n gofyn am fynediad disg, achosi oedi sylweddol.

      Zabbix: perf_counter[MemoryPage Diffygion/eiliad] Enghraifft Sbardun:
      {NODE_NAME:perf_counter[MemoryPage Faults/sec].min(5m)}> 1000, gwybodaeth lefel

    3. Beitiau Ar Gael

      Yn cadw cofnod o faint o gof mewn beit sydd ar gael i brosesau amrywiol eu rhedeg. Mae niferoedd isel yn golygu cof isel. Yr ateb yw cynyddu cof. Yn y rhan fwyaf o achosion, dylai'r mesurydd hwn fod yn gyson uwch na 5000 kV.
      Mae'n gwneud synnwyr gosod y trothwy ar gyfer Mbytes Ar Gael Γ’ llaw am y rhesymau canlynol:

      β€’50% cof am ddim ar gael = Ardderchog
      β€’25% cof ar gael = Angen sylw
      β€’10% am ddim = Problemau posibl
      β€’ Llai na 5% cof ar gael = Hanfodol ar gyfer cyflymder, mae angen i chi ymyrryd.
      Zabbix: perf_counter[MemoryAvailable Beit]

  3. Prosesydd (Cyfanswm): % Amser Prosesydd
    Mae'r rhifydd hwn yn dangos canran yr amser y bu'r prosesydd yn brysur yn cyflawni gweithrediadau ar gyfer edafedd nad yw'n segur (edau nad ydynt yn segur). Gellir ystyried y gwerth hwn fel ffracsiwn o'r amser sydd ei angen i gyflawni gwaith defnyddiol. Gellir neilltuo pob prosesydd i edau segur sy'n defnyddio cylchoedd prosesydd anghynhyrchiol na ddefnyddir gan edafedd eraill. Nodweddir y cownter hwn gan gopaon byr a all gyrraedd 100 y cant. Fodd bynnag, os oes cyfnodau estynedig pan fydd defnydd prosesydd yn uwch na 80 y cant, yna bydd y system yn fwy effeithlon wrth ddefnyddio mwy o broseswyr.

    Zabbix: perf_counter[Processor(_Total)% Processor Time], yma gall hefyd gael ei ddangos gan creiddiau
    Enghraifft Sbardun:
    {NODE_NAME:perf_counter[Processor(_Total)% Processor Time].min(5m)}> 80, lefel-gwybodaeth

  4. Rhyngwyneb Rhwydwaith (*): % Beit Cyfanswm/eiliad
    Cyfanswm nifer y beitau a anfonwyd ac a dderbyniwyd yr eiliad ar draws pob rhyngwyneb. Dyma lled band y rhyngwyneb (mewn bytes). Mae angen cymharu gwerth y rhifydd hwn ag uchafswm lled band y cerdyn rhwydwaith. Yn gyffredinol, ni ddylai'r rhifydd hwn ddangos mwy na 50% o ddefnydd lled band addasydd rhwydwaith.
    Zabbix: cownter_perf[Rhyngwyneb Rhwydwaith(*)Beit Wedi'i Anfon/eiliad]
  5. Gweinydd MS SQL: Dulliau Mynediad
    Mae'r gwrthrych Dulliau Mynediad yn SQL Server yn darparu cownteri i helpu i olrhain mynediad at ddata rhesymegol o fewn cronfa ddata. Mae mynediad corfforol i dudalennau cronfa ddata ar ddisg yn cael ei reoli gan gownteri rheolwyr byffer. Mae arsylwi dulliau mynediad data mewn cronfa ddata yn eich helpu i benderfynu a allwch wella perfformiad ymholiad trwy ychwanegu neu newid mynegeion, ychwanegu neu symud rhaniadau, ychwanegu ffeiliau neu grwpiau o ffeiliau, dad-ddarnio mynegeion, neu newid testun ymholiad. Gallwch hefyd ddefnyddio'r cownteri ar y gwrthrych Dulliau Mynediad i fonitro maint y data, mynegeion, a gofod rhydd yn y gronfa ddata, gan reoli cyfaint a darnio ar gyfer pob achos gweinydd. Gall darnio mynegai gormodol ddiraddio perfformiad yn sylweddol.

    1. Tudalen Rhannau/eiliad
      Nifer y toriadau tudalennau yr eiliad a ddigwyddodd o ganlyniad i orlifau tudalennau mynegai. Mae gwerth mawr y dangosydd hwn yn golygu bod SQL Server yn perfformio nifer fawr o weithrediadau adnoddau-ddwys i rannu tudalennau a symud rhan o dudalen bresennol i leoliad newydd wrth berfformio gweithrediadau mewnosod a diweddaru. Dylid osgoi gweithrediadau o'r fath pryd bynnag y bo modd. Gallwch geisio datrys y broblem mewn dwy ffordd:
      - Creu mynegai clystyrog ar golofnau auto-cynnydd. Yn yr achos hwn, ni fydd cofnodion newydd yn cael eu gosod y tu mewn i dudalennau sydd eisoes wedi'u meddiannu gan ddata, ond byddant yn meddiannu tudalennau newydd yn olynol;
      β€” ailadeiladu mynegeion trwy gynyddu gwerth y paramedr Fillfactor. Mae'r opsiwn hwn yn caniatΓ‘u cadw lle rhydd ar dudalennau mynegai ar gyfer data newydd heb fod angen tudaleniad.
      Zabbix: perf_counter["MSSQL$InstanceName:Dulliau Mynediad Tudalen Rhannau/eiliad", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INStance_NAME:Mynediad MethodsPage Splits/sec", 30].last()}>{NODE_NAME:perf_counter["MSSQL$INStance_NAME:SQL StatisticsBatch Requests/sec", 30].last()} /5, lefel-gwybodaeth
    2. Sganiau/eiliad llawn
      Nifer y sganiau llawn diderfyn yr eiliad. Mae'r gweithrediadau hyn yn cynnwys sganiau tabl sylfaen a sganiau mynegai llawn. Gall cynnydd sefydlog yn y dangosydd hwn ddangos dirywiad yn y system (diffyg mynegeion angenrheidiol, eu darnio cryf, diffyg defnydd o fynegeion presennol gan yr optimeiddiwr, presenoldeb mynegeion nas defnyddiwyd). Fodd bynnag, mae'n werth nodi nad yw sgan llawn ar fyrddau bach bob amser yn ddrwg, oherwydd os gallwch chi ffitio'r bwrdd cyfan i RAM, yna bydd yn gyflymach i berfformio sgan llawn. Ond yn y rhan fwyaf o achosion, bydd twf sefydlog o'r cownter hwn yn dynodi diraddiad y system. Mae hyn i gyd yn berthnasol i systemau OLTP yn unig. Mewn systemau OLAP, mae sganiau llawn cyson yn normal.
      Zabbix: perf_counter["MSSQL$InstanceName:Access MethodsFull Scans/sec", 30]

  6. Gweinydd MS SQL: Rheolwr Byffer
    Mae gwrthrych Buffer Manager yn darparu cownteri i fonitro sut mae SQL Server yn defnyddio'r adnoddau canlynol:
    - cof ar gyfer storio tudalennau data;
    - cownteri a ddefnyddir i fonitro I / O corfforol pan fydd SQL Server yn darllen ac yn ysgrifennu tudalennau cronfa ddata;
    - ehangu pwll byffer i ehangu'r storfa byffer gan ddefnyddio cof cyflym nad yw'n anweddol, megis gyriannau cyflwr solet (SSD);
    - Mae monitro'r cof a'r cownteri a ddefnyddir gan SQL Server yn helpu i gael y wybodaeth ganlynol;
    - A oes unrhyw "tagfeydd" a achosir gan ddiffyg cof corfforol. Os na ellir storio data a gyrchir yn aml, gorfodir SQL Server i'w ddarllen o ddisg;
    - A yw'n bosibl cynyddu effeithlonrwydd cyflawni ymholiad trwy gynyddu faint o gof neu ddyrannu cof ychwanegol ar gyfer storio data neu storio strwythurau mewnol SQL Server;
    Pa mor aml mae SQL Server yn darllen data o ddisg. O'i gymharu Γ’ gweithrediadau eraill, megis mynediad cof, mae I/O corfforol yn cymryd mwy o amser. Gall lleihau I/O wella perfformiad ymholiad.

    1. Radio taro Buffer Cache
      Yn dangos pa mor llawn y gall SQL Server ddyrannu data yn y byffer storfa. Po uchaf y gwerth hwn, gorau oll. Er mwyn i SQL Server gael mynediad effeithiol i dudalennau data, rhaid iddynt fod mewn byffer storfa ac ni ddylai fod unrhyw weithrediadau mewnbwn/allbwn ffisegol (I/O). Os oes gostyngiad cyson yng ngwerth cyfartalog y rhifydd hwn, dylech ystyried ychwanegu RAM. Dylai'r dangosydd hwn bob amser fod yn uwch na 90% ar gyfer systemau OLTP ac yn uwch na 50% ar gyfer systemau OLAP.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Buffer ManagerBuffer cymhareb taro storfa", 30] Enghreifftiau Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerBuffer cymhareb taro storfa", 30].last()}<70, lefel-uchel
      ΠΈ
      {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerBuffer cymhareb taro storfa", 30].last()}<80, lefel-canolig
    2. Disgwyliad oes tudalen
      Yn dangos pa mor hir y bydd y dudalen yn aros yn y cof yn barhaol yn ei chyflwr presennol. Os yw'r gwerth yn dal i ostwng, mae'n golygu bod y system yn gorddefnyddio'r pwll clustogi. Felly, gall gweithrediad cof achosi problemau sy'n arwain at ddiraddio perfformiad. Mae'n werth nodi nad oes dangosydd cyffredinol oddi tano y gellir ei farnu'n ddiamwys bod y system yn camddefnyddio'r gronfa glustogi (mae'r dangosydd o 300 eiliad wedi darfod ag MS SQL Server 2012).
      Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Buffer ManagerPage disgwyliad oes", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerPage disgwyliad oes", 30].last()}<5, lefel-gwybodaeth

  7. Gweinydd MS SQL: Ystadegau Cyffredinol
    Mae'r gwrthrych Ystadegau Cyffredinol yn SQL Server yn darparu cownteri sy'n eich galluogi i fonitro gweithgaredd cyffredinol y gweinydd, megis nifer y cysylltiadau cydamserol a nifer y defnyddwyr yr eiliad sy'n cysylltu neu'n datgysylltu o'r cyfrifiadur sy'n rhedeg enghraifft o SQL Server. Mae'r metrigau hyn yn ddefnyddiol mewn systemau prosesu trafodion ar-lein mawr (OLTP) lle mae nifer fawr o gleientiaid yn cysylltu ac yn datgysylltu o'r enghraifft Gweinyddwr SQL yn gyson.

    1. Proses wedi'i rhwystro
      Nifer y prosesau sydd wedi'u rhwystro ar hyn o bryd.
      Zabbix: perf_counter["MSSQL$INSPECTION_NAME:Prosesau Ystadegau Cyffredinol wedi'u rhwystro", 30] Enghraifft Sbardun: ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Prosesau Ystadegau Cyffredinol wedi'u rhwystro", 30].min(2m,0)}>=0)
      a ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Prosesau Ystadegau Cyffredinol wedi'u rhwystro", 30].time(0)}>=50000)
      a ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Prosesau Ystadegau Cyffredinol wedi'u rhwystro", 30].time(0)}<=230000), gwybodaeth lefel (mae cyfyngiad larwm o 05:00 i 23:00)
    2. Cysylltiadau Defnyddiwr
      Nifer y defnyddwyr sydd wedi'u cysylltu Γ’'r Gweinyddwr SQL ar hyn o bryd.
      Zabbix: perf_counter[ "MSSQL$INSPECTION_NAME:Cysylltiadau Defnyddiwr Ystadegau Cyffredinol", 30]

  8. Gweinydd MS SQL: Cloeon
    Mae'r gwrthrych Locks yn Microsoft SQL Server yn darparu gwybodaeth am gloeon SQL Server a gaffaelwyd ar fathau o adnoddau unigol. Cyhoeddir cloeon ar adnoddau SQL Server, fel rhesi sy'n cael eu darllen neu eu haddasu gan drafodiad, i atal trafodion lluosog rhag defnyddio'r adnoddau ar yr un pryd. Er enghraifft, os bydd clo unigryw (X) yn cael ei gaffael gan drafodiad ar res mewn tabl, ni all unrhyw drafodiad arall addasu'r rhes honno nes bod y clo yn cael ei ryddhau. Mae lleihau'r defnydd o gloeon yn cynyddu arian cyfred, a all wella perfformiad cyffredinol. Gellir olrhain achosion lluosog o'r gwrthrych Locks ar yr un pryd, a bydd pob un ohonynt yn cynrychioli clo ar fath gwahanol o adnodd.

    1. Amser Aros Cyfartalog (ms)
      Yr amser aros cyfartalog (mewn milieiliadau) ar gyfer pob cais clo lle roedd angen aros. Mae'r rhifydd hwn yn mesur nifer cyfartalog y prosesau defnyddwyr sy'n gorfod ciwio i gael clo ar adnodd. Mae gwerth uchaf a ganiateir y rhifydd hwn yn dibynnu'n llwyr ar eich tasg, mae'n anodd pennu gwerth cyfartalog ar gyfer pob cais yma. Os yw'r rhifydd hwn yn rhy uchel, gallai olygu problemau gyda chloeon yn eich cronfa ddata.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME: Cloi(_Cyfanswm)Amser Aros Cyfartalog (ms)", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Lociau(_Cyfanswm)Amser Aros Cyfartalog (ms)", 30].last()}>=500, gwybodaeth lefel
    2. Cloi Amser Aros (ms)
      Cyfanswm yr amser aros clo (mewn milieiliadau) yn yr eiliad olaf.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME: Cloi(_Total)Amser Aros Clo (ms)", 30]
    3. Cloi Aros/eiliad
      Y nifer o weithiau yn yr eiliad olaf y bu'n rhaid i edefyn aros am gais clo.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME: Cloi(_Total)Clo Aros/eiliad", 30]
    4. Cloi Goramser/eiliad
      Nifer yr ailgeisiadau pan na ellir caffael y clo gan rownd-robin. Mae gwerth paramedr cyfluniad cownter troelli Gweinydd SQL yn pennu nifer "troiadau" yr edefyn (troelli) cyn iddo amseru ac mae'r edau'n mynd yn segur.
      Zabbix: perf_counter[ "MSSQL$INSTANCE_NAME: Cloi(_Cyfanswm)Goramser Cloi/eiliad", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Locks(_Total)Lock Timeouts/sec", 30].last()}> 1000, lefel-gwybodaeth
    5. Clo Ceisiadau/eiliad
      Nifer y ceisiadau yr eiliad ar gyfer y math clo penodedig.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME: Cloi(_Cyfanswm)Ceisiadau Clo/eiliad", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Cloi(_Total)Ceisiadau Clo/eiliad", 30].last()}>500000, lefel gwybodaeth
    6. Clo Nifer Cloeon/eiliad
      Nifer y ceisiadau clo yr eiliad sy'n arwain at ddatgloi. Mae terfynau amser yn dynodi ymholiadau camffurfiedig sy'n rhwystro adnoddau a rennir.
      Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Nifer y Cloeon Cau/eiliad", 30] Enghraifft Sbardun: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Nifer y Cloeon Cau/eiliad", 30].last()}> 1, lefel-uchel

  9. Gweinydd MS SQL: Rheolwr Cof
    Mae'r gwrthrych Rheolwr Cof yn Microsoft SQL Server yn darparu cownteri i fonitro defnydd cof ar draws y gweinydd. Gall monitro defnydd cof ar draws y gweinydd i werthuso gweithgaredd defnyddwyr a defnydd adnoddau helpu i nodi tagfeydd perfformiad. Gall y rheolaeth cof a ddefnyddir gan enghraifft o SQL Server helpu i benderfynu:
    - A oes prinder cof corfforol i storio data a gyrchir yn aml yn y storfa. Os nad oes digon o gof, rhaid i SQL Server adfer y data o ddisg;
    - A ellid gwella perfformiad ymholiad os ychwanegir mwy o gof neu os oes mwy o gof ar gael ar gyfer storio data neu strwythurau mewnol SQL Server.

    1. Grantiau Cof yn Eithriadol
      Yn pennu cyfanswm nifer y prosesau sydd wedi llwyddo i gaffael cof gweithle. Gyda gostyngiad sefydlog yn y dangosydd, mae angen cynyddu'r RAM.
      Zabbix: perf_counter[ "MSSQL$INSTENTION_NAME:Rheolwr Cof Grantiau Cof yn Eithriadol", 30]
    2. Grantiau Cof yn yr Arfaeth
      Yn dangos cyfanswm nifer y prosesau sy'n aros i gof gweithio gael ei ganiatΓ‘u. Gyda thwf sefydlog y dangosydd, mae angen cynyddu'r RAM.
      Zabbix: perf_counter["MSSQL$InstanceName:Rheolwr Cof Grantiau Cof yn Arfaethu", 30]

  10. Gweinydd MS SQL: Ystadegau
    Mae'r gwrthrych Ystadegau yn Microsoft SQL Server yn darparu cownteri i fonitro'r math o grynhoi a'r mathau o ymholiadau a anfonir at enghraifft o SQL Server. Mae monitro nifer y casgliadau ymholiad ac ail-grynhoi a nifer y sypiau a dderbynnir gan enghraifft o SQL Server yn rhoi syniad i chi o ba mor gyflym y mae SQL Server yn gweithredu ymholiadau defnyddwyr a pha mor effeithlon y mae'r optimizer ymholiad yn eu prosesu.

    1. Ceisiadau swp/eiliad
      Nifer y pecynnau gorchymyn Transact-SQL a dderbyniwyd yr eiliad. Effeithir ar yr ystadegau hyn gan unrhyw derfynau (I/O, nifer y defnyddwyr, maint y storfa, cymhlethdod yr ymholiad, ac ati). Mae nifer uchel o geisiadau pecyn yn dynodi mewnbwn uchel.
      Zabbix: perf_counter["MSSQL$InstanceName:SQL StatisticsBatch Ceisiadau/eiliad", 30]

Yn ogystal Γ’ phob un o'r uchod, gallwch hefyd ffurfweddu elfennau data eraill (yn ogystal Γ’ chreu sbardunau arnynt gyda hysbysiad dilynol). Er enghraifft:
1) lle ar y ddisg am ddim
2) meintiau o ffeiliau data DB a log log
fi t. d.
Fodd bynnag, nid yw'r holl ddangosyddion hyn yn dangos problem ymholiadau amser real.
I wneud hyn, mae angen i chi greu eich cownteri arbennig eich hun.
Oherwydd rhesymau cyfrinachedd, ni fyddaf yn rhoi enghreifftiau o gownteri o'r fath. Ar ben hynny, maent wedi'u ffurfweddu'n unigryw ar gyfer pob system. Ond nodaf, ar gyfer systemau fel 1C, NAV a CRM, y gellir creu cownteri arbenigol ynghyd Γ’'r datblygwyr perthnasol.
Rhoddaf enghraifft o greu dangosydd cyffredinol sy'n dangos faint o geisiadau sy'n cael eu gweithredu a faint o geisiadau sy'n aros i gael eu gweithredu (oedi neu rwystro) ar bob pwynt mewn amser.
I wneud hyn, mae angen i chi greu gweithdrefn wedi'i storio:
Cod

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

Nesaf, mae angen i chi fynd i'r ffolder lle mae Zabbix wedi'i leoli (zabbixconfuserparams.d) a chreu 2 ffeil gyda'r estyniad ps1 (PowerShell) ac ysgrifennu'r codau canlynol ym mhob un ohonynt:
Cod ar gyfer Ceisiadau Rhedeg

$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;

Cod ar gyfer ceisiadau sydd ar y gweill

$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;

Nawr mae angen i chi greu ffeil gyda pharamedrau defnyddiwr gydag estyniad .conf (neu ychwanegu llinellau at ffeil defnyddiwr o'r fath sy'n bodoli eisoes os cafodd ei chreu'n gynharach) a mewnosodwch y llinellau canlynol:
UserParameter=PARAMETER_NAME_NUMBER_of_EXECUTED_QUERY,cragen pwerau -DimProffil - Ffordd Osgoi Polisi Gweithredu -Ffeil FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_EXECUTED_QUERY.ps1
UserParameter=PARAMETER_NAME_NUMBER_of_PENDING_REQUESTS,cragen bwerau -DimProffil - Ffordd Osgoi Polisi Gweithredu -Ffeil FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_PENDING_REQUESTS.ps1
Ar Γ΄l hynny, rydym yn arbed y ffeil .conf ac yn ailgychwyn yr asiant Zabbix.
Ar Γ΄l hynny, rydym yn ychwanegu dwy elfen newydd at Zabbix (yn yr achos hwn, mae'r enwau a'r allwedd yr un peth):
NAME_PARAMETER_NUMBER_PERFORMED_QUERY
NAME_PARAMETER_NUMBER_PENDING_REQUESTS
Nawr gallwch chi greu graffiau a sbardunau ar yr eitemau arfer a grΓ«wyd.

Os bydd nifer y ceisiadau sydd ar y gweill yn codi'n sydyn, yna gall yr ymholiad nesaf ddangos yr holl geisiadau cyfredol ac arfaethedig ar amser penodol gyda manylion o ble ac o dan ba fewngofnod y gweithredir y cais, y testun a'r cynllun ymholiad, yn ogystal Γ’ manylion eraill:
Cod

/*АктивныС, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ запросы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ явно Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСансы*/
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);

Gadewch imi hefyd eich atgoffa, yn Γ΄l yr ystadegau a gasglwyd, y gallwch gael yr ymholiadau anoddaf:
Cod

/*
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

Gallwch hefyd ysgrifennu ar gyfer MySQL. I wneud hyn, mae angen i chi osod mysql-connector-net ac yna ysgrifennu rhywbeth fel hyn:
Cod ar gyfer ceisiadau sydd ar y gweill

#Π—Π°Π΄Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ 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;

Canlyniad

Mae'r erthygl hon wedi ymdrin ag enghraifft o gyfrifwyr perfformiad (eitemau) yn Zabbix. Mae'r dull hwn yn caniatΓ‘u ichi hysbysu gweinyddwyr am wahanol broblemau mewn amser real neu ar Γ΄l amser penodol. Felly, mae'r dull hwn yn caniatΓ‘u lleihau nifer yr achosion o broblem hollbwysig yn y dyfodol ac atal gweithrediad y DBMS a'r gweinydd, sydd yn ei dro yn amddiffyn cynhyrchu rhag atal prosesau gwaith.
Erthygl flaenorol: Gwaith arferol gyda chronfa ddata system wybodaeth 24Γ—7 yn MS SQL Server

Ffynonellau:

Β» Zabbix 3.4
Β» Cownteri perfformiad
Β» Canolfan Berfformiad ar gyfer Cronfa Ddata Azure SQL a Pheiriant Cronfa Ddata Gweinyddwr SQL
Β» Ffordd o Fyw SQL
Β» SQLSkills
Β» Microsoft TechNet
Β» Dadansoddi defnydd cof
Β» Dadansoddi Perfformiad
Β» Dogfennaeth SQL
Β» Nodiadau Windows

Ffynhonnell: hab.com

Ychwanegu sylw