Ús de Zabbix per supervisar la base de dades MS SQL Server

Prefaci

Sovint cal informar a l'administrador dels problemes relacionats amb la base de dades (base de dades) en temps real.

Aquest article descriu què cal configurar a Zabbix per supervisar la base de dades MS SQL Server.

Crido la vostra atenció sobre el fet que en detall no es donarà com configurar, però, en aquest article es donarà fórmules i recomanacions generals, així com una descripció detallada de com afegir elements de dades personalitzats mitjançant procediments emmagatzemats.
A mΓ©s, aquΓ­ nomΓ©s es tindran en compte els comptadors de rendiment principals.

decisiΓ³

Primer, descriurΓ© tots aquells comptadors de rendiment (a travΓ©s d'elements a Zabbix) que necessitem:

  1. Disc lΓ²gic
    1. Mitjana de seg de disc/lectura
      Mostra el temps mitjΓ  en segons per llegir les dades del disc. El valor mitjΓ  del comptador de rendiment mitjΓ . Seg de disc/Llegir no ha de superar els 10 milΒ·lisegons. El valor mΓ xim del comptador de rendiment mitjΓ . Seg de disc/Llegir no ha de superar els 50 milΒ·lisegons.

      Zabbix: perf_counter[LogicalDisk(_Total)Ag. Disk sec/Read], i tambΓ© Γ©s important fer un seguiment del disc desitjat, per exemple: perf_counter[LogicalDisk(C:)Avg. Seg de disc/Llegir]

      Exemples de desencadenants:
      {NODE_NAME:perf_counter[LogicalDisk(_Total)Mitj. Disk sec/Read].last()}>0.005, nivell alt
      ΠΈ
      {NODE_NAME:perf_counter[LogicalDisk(_Total)Mitj. Disk sec/Read].last()}>0.0025, nivell mitjΓ 

    2. Mitjana de seg de disc/escriptura
      Mostra el temps mitjΓ  en segons per escriure dades al disc. El valor mitjΓ  del comptador de rendiment mitjΓ . Seg de disc/escriptura no ha de superar els 10 milΒ·lisegons. El valor mΓ xim del comptador de rendiment mitjΓ . Seg de disc/escriptura no ha de superar els 50 milΒ·lisegons.

      Zabbix: perf_counter[LogicalDisk(_Total)Ag. Disk sec/Write], i tambΓ© Γ©s important fer un seguiment del disc desitjat, per exemple: perf_counter[LogicalDisk(C:)Avg. Seg de disc/escriptura]

      Exemples de desencadenants:
      {NODE_NAME:perf_counter[LogicalDisk(_Total)Mitj. Disk sec/Write].last()}>0.005, nivell alt
      ΠΈ
      {NODE_NAME:perf_counter[LogicalDisk(_Total)Mitj. Disk sec/Write].last()}>0.0025, nivell mitjΓ 

    3. Longitud mitjana de la cua de disc

      La longitud mitjana de la cua de solΒ·licituds al disc. Mostra el nombre de solΒ·licituds de disc pendents durant un interval de temps especificat. La cua normal no Γ©s mΓ©s de 2 per a un sol disc. Si hi ha mΓ©s de dues solΒ·licituds a la cua, Γ©s probable que el disc estigui sobrecarregat i no tingui temps per processar les solΒ·licituds entrants. Podeu utilitzar els comptadors de mitjana per esbrinar exactament quines operacions no pot gestionar el disc. Longitud de la cua de lectura del disc (cua de solΒ·licituds de lectura) i mitjana. Longitud de la cua de Wright del disc (cua de solΒ·licitud d'escriptura).
      Valor mitjà. La longitud de la cua de disc no es mesura, sinó que es calcula segons la llei de Little a partir de la teoria matemàtica de les cues. Segons aquesta llei, el nombre de sol·licituds pendents de tramitar, de mitjana, és igual a la freqüència de les sol·licituds rebudes, multiplicada pel temps de tramitació de la sol·licitud. Aquells. en el nostre cas Avg. Durada de la cua de disc = (Transferències de disc/s) * (Seg. de disc/Transferència mitjana).

      agost. La longitud de la cua de disc es dΓ³na com un dels comptadors principals per determinar la cΓ rrega de treball del subsistema de disc, perΓ², per estimar-la adequadament, cal representar amb precisiΓ³ l'estructura fΓ­sica del sistema d'emmagatzematge. Per exemple, per a un sol disc dur, un valor superior a 2 es considera crΓ­tic, i si el disc es troba en una matriu RAID de 4 discos, haurΓ­eu de preocupar-vos si el valor Γ©s superior a 4 * 2 = 8.

      Zabbix: perf_counter[LogicalDisk(_Total)Ag. Disk Queue Length], i tambΓ© Γ©s important fer un seguiment del disc desitjat, per exemple: perf_counter[LogicalDisk(C:)Avg. Longitud de la cua de disc]

  2. MemΓ²ria
    1. PΓ gines/s
      Mostra el nombre de pΓ gines que SQL Server va llegir des del disc o va escriure al disc per resoldre els accessos a pΓ gines de memΓ²ria que no estaven carregades a la memΓ²ria principal en el moment de l'accΓ©s. Aquest valor Γ©s la suma dels valors de Pages Input/sec i Pages Output/seg, i tambΓ© tΓ© en compte la paginaciΓ³ (intercanvi/intercanvi) de la memΓ²ria cau del sistema per accedir als fitxers de dades de l'aplicaciΓ³. TambΓ© inclou la paginaciΓ³ de fitxers assignats directament a la memΓ²ria sense memΓ²ria cau. Aquest Γ©s el comptador principal que cal vigilar si experimenteu un ΓΊs elevat de memΓ²ria i una paginaciΓ³ excessiva associada. Aquest comptador caracteritza la quantitat d'intercanvi i el seu valor normal (no mΓ xim) hauria d'estar proper a zero. Un augment de l'intercanvi indica la necessitat d'augmentar la memΓ²ria RAM o reduir el nombre d'aplicacions que s'executen al servidor.

      Zabbix: perf_counter[MemoryPages/seg] Exemple de disparador:
      {NOTE_NAME:perf_counter[MemoryPages/sec].min(5m)}>1000, informaciΓ³ de nivell

    2. Errors de pΓ gina/s

      Aquest és el valor del comptador d'errors de pàgina. Es produeix un error de pàgina quan un procés fa referència a una pàgina de memòria virtual que no es troba al conjunt de treball de RAM. Aquest comptador té en compte tant aquells errors de pàgina que requereixen un accés al disc com els causats perquè la pàgina es troba fora del conjunt de treball a la RAM. La majoria dels processadors poden gestionar errors de pàgina de tipus XNUMX sense gaire demora. Tanmateix, la gestió d'errors de pàgina de tipus XNUMX, que requereixen accés al disc, pot provocar retards importants.

      Zabbix: perf_counter[MemoryPage Faults/seg] Exemple de disparador:
      {NODE_NAME:perf_counter[MemoryPage Faults/sec].min(5m)}>1000, informaciΓ³ de nivell

    3. Bytes disponibles

      Fa un seguiment de la quantitat de memΓ²ria en bytes disponible per a l'execuciΓ³ de diversos processos. Els nΓΊmeros baixos signifiquen poca memΓ²ria. La soluciΓ³ Γ©s augmentar la memΓ²ria. En la majoria dels casos, aquest mesurador hauria d'estar constantment per sobre de 5000 kV.
      TΓ© sentit establir manualment el llindar per als Mbytes disponibles pels motius segΓΌents:

      β€’ 50% de memΓ²ria lliure disponible = ExcelΒ·lent
      β€’25% de memΓ²ria disponible = Necessita atenciΓ³
      β€’10% gratis = Possibles problemes
      β€’ Menys del 5% de memΓ²ria disponible = crΓ­tic per a la velocitat, cal intervenir.
      Zabbix: perf_counter[MemoryAvailable Bytes]

  3. Processador (Total): % Temps del processador
    Aquest comptador mostra el percentatge de temps que el processador va estar ocupat executant operacions per a fils no inactius (fils no inactius). Aquest valor es pot considerar com una fracció del temps necessari per realitzar un treball útil. Cada processador es pot assignar a un fil inactiu que consumeix cicles de processador improductius no utilitzats per altres fils. Aquest comptador es caracteritza per pics curts que poden arribar al 100 per cent. Tanmateix, si hi ha períodes prolongats en què la utilització del processador és superior al 80 per cent, el sistema serà més eficient quan utilitzeu més processadors.

    Zabbix: perf_counter[Processor(_Total)% Processor Time], aquΓ­ tambΓ© es pot mostrar per nuclis
    Exemple de disparador:
    {NODE_NAME:perf_counter[Processor(_Total)% Processor Time].min(5m)}>80, nivell d'informaciΓ³

  4. InterfΓ­cie de xarxa (*): % bytes total/s
    El nombre total de bytes enviats i rebuts per segon a totes les interfΓ­cies. Aquest Γ©s l'amplada de banda de la interfΓ­cie (en bytes). Cal comparar el valor d'aquest comptador amb l'amplada de banda mΓ xima de la targeta de xarxa. En general, aquest comptador no hauria de mostrar mΓ©s del 50% d'utilitzaciΓ³ de l'ample de banda de l'adaptador de xarxa.
    Zabbix: perf_counter[InterfΓ­cie de xarxa (*) Bytes enviats/seg]
  5. MS SQL Server: Mètodes d'accés
    L'objecte Mètodes d'accés a SQL Server proporciona comptadors per ajudar a fer un seguiment de l'accés a les dades lògiques dins d'una base de dades. L'accés físic a les pàgines de la base de dades del disc està controlat pels comptadors del gestor de memòria intermèdia. L'observació dels mètodes d'accés a les dades en una base de dades us ajuda a determinar si podeu millorar el rendiment de les consultes afegint o canviant índexs, afegint o movent particions, afegint fitxers o grups de fitxers, desfragmentant índexs o canviant el text de la consulta. També podeu utilitzar els comptadors de l'objecte Mètodes d'accés per supervisar la mida de les dades, els índexs i l'espai lliure a la base de dades, controlant el volum i la fragmentació de cada instància del servidor. Una fragmentació excessiva de l'índex pot degradar significativament el rendiment.

    1. DivisiΓ³ de pΓ gina/s
      El nombre de salts de pΓ gina per segon que s'han produΓ―t com a resultat dels desbordaments de la pΓ gina d'Γ­ndex. Un gran valor d'aquest indicador significa que SQL Server realitza un gran nombre d'operacions que consumeixen molts recursos per dividir pΓ gines i moure part d'una pΓ gina existent a una nova ubicaciΓ³ quan es realitzen operacions d'inserciΓ³ i actualitzaciΓ³. Aquestes operacions s'han d'evitar sempre que sigui possible. Podeu intentar resoldre el problema de dues maneres:
      - Creeu un Γ­ndex agrupat en columnes d'increment automΓ tic. En aquest cas, les noves entrades no es colΒ·locaran dins de pΓ gines ja ocupades per dades, sinΓ³ que ocuparan seqΓΌencialment pΓ gines noves;
      β€” ReconstruΓ―u Γ­ndexs augmentant el valor del parΓ metre Fillfactor. Aquesta opciΓ³ permet reservar espai lliure a les pΓ gines d'Γ­ndex per a dades noves sense necessitat de paginaciΓ³.
      Zabbix: perf_counter["MSSQL$InstanceName:Access MethodsPage Splits/sec",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INStance_NAME:Access MethodsPage Splits/sec",30].last()}>{NODE_NAME:perf_counter["MSSQL$INStance_NAME:SQL StatisticsBatch Requests/s",30].last()} /5, nivell d'informaciΓ³
    2. Exploracions completes/s
      El nombre d'exploracions completes il·limitades per segon. Aquestes operacions inclouen exploracions de taules base i exploracions d'índex complets. Un augment estable d'aquest indicador pot indicar una degradació del sistema (manca d'índexs necessaris, la seva forta fragmentació, no ús dels índexs existents per part de l'optimitzador, presència d'índexs no utilitzats). Tanmateix, val la pena assenyalar que una exploració completa en taules petites no sempre és dolenta, perquè si podeu encaixar tota la taula a la memòria RAM, serà més ràpid realitzar una exploració completa. Però en la majoria dels casos, un creixement estable d'aquest comptador indicarà la degradació del sistema. Tot això només s'aplica als sistemes OLTP. Als sistemes OLAP, les exploracions completes constants són normals.
      Zabbix: perf_counter["MSSQL$InstanceName:Access MethodsFull Scans/seg",30]

  6. MS SQL Server: gestor de memòria intermèdia
    L'objecte Buffer Manager proporciona comptadors per supervisar com SQL Server utilitza els recursos segΓΌents:
    - memΓ²ria per emmagatzemar pΓ gines de dades;
    - comptadors utilitzats per supervisar l'E/S fΓ­sica quan SQL Server llegeix i escriu pΓ gines de base de dades;
    - Ampliació de l'agrupació de memòria intermèdia per ampliar la memòria cau de memòria intermèdia mitjançant memòria ràpida no volàtil, com ara unitats d'estat sòlid (SSD);
    - La supervisiΓ³ de la memΓ²ria i els comptadors utilitzats per SQL Server ajuda a obtenir la informaciΓ³ segΓΌent;
    - Hi ha "colls d'ampolla" causats per la manca de memΓ²ria fΓ­sica. Si les dades a les quals s'accedeix amb freqΓΌΓ¨ncia no es poden guardar a la memΓ²ria cau, SQL Server es veu obligat a llegir-les des del disc;
    - Si és possible augmentar l'eficiència de l'execució de consultes augmentant la quantitat de memòria o assignant memòria addicional per a la memòria cau de dades o emmagatzemar estructures internes d'SQL Server;
    Amb quina freqΓΌΓ¨ncia SQL Server llegeix dades del disc. En comparaciΓ³ amb altres operacions, com ara l'accΓ©s a la memΓ²ria, l'E/S fΓ­sica triga mΓ©s. La reducciΓ³ d'E/S pot millorar el rendiment de les consultes.

    1. Buffer Cache va arribar a la rΓ dio
      Indica fins a quin punt SQL Server pot assignar dades al buffer de memòria cau. Com més gran sigui aquest valor, millor. Perquè SQL Server pugui accedir de manera eficient a les pàgines de dades, aquestes han d'estar en una memòria cau i no hi ha d'haver operacions físiques d'entrada/sortida (I/O). Si hi ha una disminució constant del valor mitjà d'aquest comptador, hauríeu de considerar afegir RAM. Aquest indicador ha d'estar sempre per sobre del 90% per als sistemes OLTP i per sobre del 50% per als sistemes OLAP.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Buffer ManagerBuffer rΓ tio d'Γ¨xits de memΓ²ria cau",30] Exemples de desencadenants: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerBuffer rΓ tio d'accΓ©s a la memΓ²ria cau",30].last()}<70, nivell alt
      ΠΈ
      {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Buffer ManagerBuffer rΓ tio d'accΓ©s a la memΓ²ria cau",30].last()}<80, nivell mitjΓ 
    2. Esperança de vida de la pàgina
      Indica quant de temps romandrà la pàgina permanentment a la memòria en el seu estat actual. Si el valor continua baixant, vol dir que el sistema està fent un ús excessiu de l'agrupació de memòria intermèdia. Per tant, el funcionament de la memòria pot provocar problemes que poden provocar una degradació del rendiment. Val la pena assenyalar que no hi ha cap indicador universal per sota del qual es pugui jutjar inequívocament que el sistema està abusant del conjunt de memòria intermèdia (l'indicador de 300 segons està obsolet amb MS SQL Server 2012).
      Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Esperança de vida de la pàgina del gestor de memòria intermèdia",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Esperança de vida de la pàgina del gestor de memòria intermèdia",30].last()}<5, info de nivell

  7. MS SQL Server: EstadΓ­stiques generals
    L'objecte d'estadístiques generals a SQL Server proporciona comptadors que us permeten supervisar l'activitat general del servidor, com ara el nombre de connexions simultànies i el nombre d'usuaris per segon que es connecten o es desconnecten de l'ordinador que executa una instància d'SQL Server. Aquestes mètriques són útils en sistemes de processament de transaccions en línia grans (OLTP) on un gran nombre de clients es connecten i es desconnecten constantment de la instància d'SQL Server.

    1. ProcΓ©s bloquejat
      El nombre de processos bloquejats actualment.
      Zabbix: perf_counter["MSSQL$INSPECTION_NAME:Processos d'estadΓ­stica general bloquejats",30] Exemple de disparador: ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Processos d'estadΓ­stiques generals bloquejats",30].min(2m,0)}>=0)
      i ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Processos d'estadΓ­stica general bloquejats",30].time(0)}>=50000)
      i ({NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:General StatisticsProcesses blocked",30].time(0)}<=230000), informaciΓ³ de nivell (hi ha una restricciΓ³ d'alarma de 05:00 a 23:00)
    2. Connexions d'usuari
      El nombre d'usuaris connectats actualment al servidor SQL.
      Zabbix: perf_counter["MSSQL$INSPECTION_NAME:Connexions d'usuari d'EstadΓ­stiques generals",30]

  8. MS SQL Server: bloquejos
    L'objecte Locks de Microsoft SQL Server proporciona informació sobre els bloquejos d'SQL Server adquirits en tipus de recursos individuals. Els bloquejos s'emeten als recursos d'SQL Server, com ara les files llegides o modificades per una transacció, per evitar que diverses transaccions utilitzin els recursos al mateix temps. Per exemple, si una transacció en una fila d'una taula adquireix un bloqueig exclusiu (X), cap altra transacció pot modificar aquesta fila fins que s'alliberi el bloqueig. Minimitzar l'ús de bloquejos augmenta la concurrència, cosa que pot millorar el rendiment general. Es poden fer un seguiment de diverses instàncies de l'objecte Locks al mateix temps, cadascuna de les quals representarà un bloqueig en un tipus de recurs diferent.

    1. Temps d'espera mitjΓ  (ms)
      El temps d'espera mitjà (en mil·lisegons) per a totes les sol·licituds de bloqueig que han requerit una espera. Aquest comptador mesura el nombre mitjà de processos d'usuari que han de fer cua per adquirir un bloqueig en un recurs. El valor màxim permès d'aquest comptador depèn completament de la vostra tasca, és difícil determinar un valor mitjà per a totes les aplicacions aquí. Si aquest comptador és massa alt, podria significar problemes amb els bloquejos a la base de dades.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Locks(_Total)Temps d'espera mitjΓ  (ms)",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Temps d'espera mitjΓ  (ms)",30].last()}>=500, nivell d'informaciΓ³
    2. Temps d'espera de bloqueig (ms)
      Temps total d'espera de bloqueig (en milΒ·lisegons) en l'ΓΊltim segon.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Locks(_Total)Temps d'espera de bloqueig (ms)",30]
    3. Espera de bloqueig/s
      El nombre de vegades en l'ΓΊltim segon que un fil ha d'esperar una solΒ·licitud de bloqueig.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Bloqueig(_Total)Esperes de bloqueig/s",30]
    4. Temps d'espera de bloqueig/s
      El nombre de reintents quan el bloqueig no es pot adquirir mitjançant un round-robin. El valor del paràmetre de configuració del comptador de girs d'SQL Server determina el nombre de "girs" del fil (girs) abans que s'acabi el temps d'espera i el fil quedi inactiu.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Locks(_Total)Temps d'espera de bloqueig/s",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Locks(_Total)Lock Timeouts/sec",30].last()}>1000, level-info
    5. SolΒ·licituds de bloqueig/s
      El nombre de solΒ·licituds per segon per al tipus de bloqueig especificat.
      Zabbix: perf_counter["MSSQL$INSTANCE_NAME:Bloqueja (_Total) SolΒ·licituds de bloqueig/s",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Lock Requests/s",30].last()}>500000, nivell d'informaciΓ³
    6. Nombre de bloqueig de bloqueigs/s
      El nombre de solΒ·licituds de bloqueig per segon que donen lloc a un bloqueig. Els bloquejos indiquen consultes amb format incorrecte que bloquegen els recursos compartits.
      Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Nombre de bloquejos/s",30] Exemple de disparador: {NODE_NAME:perf_counter["MSSQL$INSPECTION_NAME:Locks(_Total)Nombre de bloquejos/s",30].last()}>1, nivell alt

  9. MS SQL Server: Gestor de memΓ²ria
    L'objecte Gestor de memΓ²ria de Microsoft SQL Server proporciona comptadors per supervisar l'ΓΊs de memΓ²ria a tot el servidor. La supervisiΓ³ de l'ΓΊs de la memΓ²ria a tot el servidor per avaluar l'activitat dels usuaris i l'ΓΊs dels recursos pot ajudar a identificar els colls d'ampolla de rendiment. El control de memΓ²ria utilitzat per una instΓ ncia de SQL Server pot ajudar a determinar:
    - Si hi ha escassetat de memΓ²ria fΓ­sica insuficient per emmagatzemar les dades d'accΓ©s freqΓΌent a la memΓ²ria cau. Si no hi ha prou memΓ²ria, SQL Server ha de recuperar les dades del disc;
    - Si es podria millorar el rendiment de la consulta si s'afegeix mΓ©s memΓ²ria o si hi ha mΓ©s memΓ²ria disponible per a la memΓ²ria cau de dades o estructures internes d'SQL Server.

    1. Ajuts a la memΓ²ria pendents
      Especifica el nombre total de processos que han adquirit correctament la memΓ²ria de l'espai de treball. Amb una caiguda estable de l'indicador, cal augmentar la memΓ²ria RAM.
      Zabbix: perf_counter["MSSQL$INSTENTION_NAME:Memory ManagerMemory Subvencions pendents",30]
    2. Ajuts de memΓ²ria pendents
      Indica el nombre total de processos a l'espera d'atorgar memΓ²ria de treball. Amb un creixement estable de l'indicador, cal augmentar la memΓ²ria RAM.
      Zabbix: perf_counter["MSSQL$InstanceName:Memory ManagerMemory Subventions Pending",30]

  10. MS SQL Server: EstadΓ­stiques
    L'objecte Estadístiques de Microsoft SQL Server proporciona comptadors per supervisar els tipus de compilació i consulta enviats a una instància d'SQL Server. El seguiment del nombre de compilacions i recompilacions de consultes i el nombre de lots rebuts per una instància de SQL Server us dóna una idea de la rapidesa amb què SQL Server està executant les consultes d'usuari i amb quina eficàcia les processa l'optimitzador de consultes.

    1. SolΒ·licituds per lots/s
      El nombre de paquets d'ordres Transact-SQL rebuts per segon. Aquestes estadΓ­stiques es veuen afectades per qualsevol lΓ­mit (E/S, nombre d'usuaris, mida de la memΓ²ria cau, complexitat de la consulta, etc.). Un nombre elevat de peticions de paquets indica un alt rendiment.
      Zabbix: perf_counter["MSSQL$InstanceName:SQL StatisticsBatch Requests/seg",30]

A mΓ©s de tot l'anterior, tambΓ© podeu configurar altres elements de dades (aixΓ­ com crear-hi activadors amb una notificaciΓ³ posterior). Per exemple:
1) espai lliure al disc
2) mides dels fitxers de dades de base de dades i registre de registre
i aixΓ­ successivament.
Tanmateix, tots aquests indicadors no mostren el problema de la consulta en temps real.
Per fer-ho, heu de crear els vostres propis comptadors especials.
Per motius de confidencialitat, no donarΓ© exemples d'aquests comptadors. A mΓ©s, estan configurats de manera ΓΊnica per a cada sistema. PerΓ² recordo que per a sistemes com 1C, NAV i CRM, es poden crear comptadors especialitzats juntament amb els desenvolupadors pertinents.
PosarΓ© un exemple de creaciΓ³ d'un indicador generalitzat que mostra quantes solΒ·licituds s'estan executant i quantes solΒ·licituds estan esperant per ser executades (pausa o bloquejada) en cada moment.
Per fer-ho, heu de crear un procediment emmagatzemat:
Codi

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

A continuaciΓ³, heu d'anar a la carpeta on es troba Zabbix (zabbixconfuserparams.d) i crear 2 fitxers amb l'extensiΓ³ ps1 (PowerShell) i escriure els codis segΓΌents en cadascun d'ells:
Codi per a les solΒ·licituds en execuciΓ³

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

Codi de solΒ·licituds pendents

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

Ara heu de crear un fitxer amb parΓ metres d'usuari amb l'extensiΓ³ .conf (o afegir lΓ­nies a un fitxer d'usuari existent si s'ha creat abans) i inserir les lΓ­nies segΓΌents:
UserParameter=PARAMETER_NAME_NUMBER_of_EXECUTED_QUERY,powershell -NoProfile -ExecutionPolicy Bypass -Fitxer FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_EXECUTED_QUERY.ps1
UserParameter=PARAMETER_NAME_NUMBER_of_PENDING_REQUESTS,powershell -NoProfile -ExecutionPolicy Bypass -Fitxer FULL_PATHzabbixconfuserparams.dFILE_NAME_FOR_PENDING_REQUESTS.ps1
DesprΓ©s d'aixΓ², desem el fitxer .conf i reiniciem l'agent Zabbix.
DesprΓ©s d'aixΓ², afegim dos nous elements a Zabbix (en aquest cas, els noms i la clau sΓ³n els mateixos):
NAME_PARAMETER_NUMBER_PERFORMED_QUERY
NAME_PARAMETER_NUMBER_PENDING_REQUESTS
Ara podeu crear grΓ fics i activadors dels elements personalitzats creats.

Si el nombre de solΒ·licituds pendents augmenta bruscament, la segΓΌent consulta pot mostrar totes les solΒ·licituds en curs i pendents en un moment determinat amb detalls des d'on i sota quin inici de sessiΓ³ s'executa la solΒ·licitud, el text i el pla de consultes, aixΓ­ com altres detalls:
Codi

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

TambΓ© us recordo que, segons les estadΓ­stiques recollides, podeu obtenir les solΒ·licituds mΓ©s difΓ­cils:
Codi

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

TambΓ© podeu escriure per a MySQL. Per fer-ho, cal instalΒ·lar-lo mysql-connector-net i desprΓ©s escriu alguna cosa com aixΓ²:
Codi de solΒ·licituds pendents

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

Resultat

Aquest article ha cobert un exemple de comptadors de rendiment (elements) a Zabbix. Aquest enfocament us permet notificar als administradors sobre diversos problemes en temps real o desprΓ©s d'un temps determinat. AixΓ­, aquest enfocament permet minimitzar l'apariciΓ³ d'un problema crΓ­tic en el futur i aturar el funcionament del SGBD i del servidor, que al seu torn protegeix la producciΓ³ de l'aturada dels processos de treball.
Article anterior: Treball de rutina amb la base de dades del sistema d'informaciΓ³ 24Γ—7 a MS SQL Server

Fonts:

Β» Zabbix 3.4
Β» Comptadors de rendiment
Β» Performance Center for Azure SQL Database i SQL Server Database Engine
Β» Estil de vida SQL
Β» SQLSkills
Β» Microsoft TechNet
Β» AnΓ lisi de l'ΓΊs de la memΓ²ria
Β» AnΓ lisi de rendiment
Β» DocumentaciΓ³ SQL
Β» Notes de Windows

Font: www.habr.com

Afegeix comentari