ΠΡΠ΅Π΄Π³ΠΎΠ²ΠΎΡ
Π§Π΅ΡΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ (ΠΠ).
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ Π² Zabbix Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ MS SQL Server.
ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ, Π½ΠΎ ΡΠΎΡΠΌΡΠ»ΠΈ ΠΈ ΠΎΠ±ΡΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· Ρ
ΡΠ°Π½ΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Π² ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ.
Π’ΡΠΊ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ ΡΠ°ΠΌΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΡΠ²ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ Π½ΡΠΆΠ½ΠΈ ΡΡΠ΅ΡΡΠΈΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° (ΡΡΠ΅Π· Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π΄Π°Π½Π½ΠΈ Π² Zabbix):
- ΠΠΎΠ³ΠΈΡΠ΅Π½ Π΄ΠΈΡΠΊ
- Avg Disc sec/Read
ΠΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΡΠ°Π·Π΅Π½ΠΎΡΠΎ Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ°. Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Avg. Disk sec/Read Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 10 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Avg. Disk sec/Read Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 50 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.Zabbix: perf_counter[LogicalDisk(_Total)Avg. Disk sec/Read], Π° ΡΡΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π·Π° Π½ΡΠΆΠ½ΠΈΡ Π΄ΠΈΡΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠ°: perf_counter[LogicalDisk(C:)Avg. Disk sec/Read]
ΠΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΡΡΠΈΠ³Π΅ΡΠΈ:
{ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[LogicalDisk(_Total)Avg. Disk sec/Read].last()}>0.005, Π½ΠΈΠ²ΠΎ-Π²ΠΈΡΠΎΠΊΠΎ
ΠΈ
{ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[LogicalDisk(_Total)Avg. Disk sec/Read].last()}>0.0025, Π½ΠΈΠ²ΠΎ-ΡΡΠ΅Π΄Π½ΠΎ - Avg Disc sec/Write
ΠΠΎΠΊΠ°Π·Π²Π° ΠΈΠ·ΡΠ°Π·Π΅Π½ΠΎΡΠΎ Π² ΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°. Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Avg. Disk sec/Write Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 10 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅ΡΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Avg. Disk sec/Write Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 50 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.Zabbix: perf_counter[LogicalDisk(_Total)Avg. Disk sec/Write], Π° ΡΡΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π·Π° Π½ΡΠΆΠ½ΠΈΡ Π΄ΠΈΡΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠ°: perf_counter[LogicalDisk(C:)Avg. Disk sec/Write]
ΠΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΡΡΠΈΠ³Π΅ΡΠΈ:
{ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[LogicalDisk(_Total)Avg. Disk sec/Write].last()}>0.005, Π½ΠΈΠ²ΠΎ-Π²ΠΈΡΠΎΠΊΠΎ
ΠΈ
{ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[LogicalDisk(_Total)Avg. Disk sec/Write].last()}>0.0025, Π½ΠΈΠ²ΠΎ-ΡΡΠ΅Π΄Π½ΠΎ - Avg Disk Queue Length
Π‘ΡΠ΅Π΄Π½Π°ΡΠ° Π΄ΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π΄ΠΈΡΠΊ. ΠΠΎΠΊΠ°Π·Π²Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π΄ΠΈΡΠΊ, ΠΊΠΎΠΈΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΎΡ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎΡΠΌΠ°Π»Π½ΠΎ Π΅ ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π΄Π° Π½Π΅ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 2 Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ Π΄ΠΈΡΠΊ. ΠΠΊΠΎ Π² ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π²Π΅ Π·Π°ΡΠ²ΠΊΠΈ, Π΄ΠΈΡΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ΅Π½ ΠΈ Π½Π΅ ΡΡΠΏΡΠ²Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠΎΡΠ½ΠΈΡΠ΅ Ρ ΠΊΠΎΠΈ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄ΠΈΡΠΊΡΡ Π½Π΅ ΡΠ΅ ΡΠΏΡΠ°Π²Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΠ΅ΡΡΠΈΡΠΈΡΠ΅ Avg. Disk Read Queue Length (ΠΎΠΏΠ°ΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅) ΠΈ Avg. Disk Write Queue Length (ΠΎΠΏΠ°ΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ).
Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° Avg. Disk Queue Length Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°, Π° ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Π° Π½Π° ΠΠΈΡΡΠ» ΠΎΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°ΡΠ° ΡΠ΅ΠΎΡΠΈΡ Π½Π° ΠΎΠΏΠ°ΡΠΊΠΈΡΠ΅. Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠΎΠ·ΠΈ Π·Π°ΠΊΠΎΠ½, Π±ΡΠΎΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΡΠ°ΠΊΠ°ΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°, ΡΡΠ΅Π΄Π½ΠΎ Π΅ ΡΠ°Π²Π΅Π½ Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΡΠΏΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΡΠΌΠ½ΠΎΠΆΠ΅Π½Π° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°. Π’.Π΅. Π² Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ Avg. Disk Queue Length = (Disk Transfers/sec) * (Avg. Disk sec/Transfer).Avg. Disk Queue Length Π΅ ΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΊΠ°ΡΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΡΠΈΡΠΈ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π½ΠΎ Π·Π° Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° ΠΎΡΠ΅Π½ΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ ΡΠΈΠ·ΠΈΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ΅Π½ ΡΠ²ΡΡΠ΄ Π΄ΠΈΡΠΊ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°Π΄ 2, Π° Π°ΠΊΠΎ Π΄ΠΈΡΠΊΡΡ Π΅ ΡΠ°ΡΡ ΠΎΡ RAID ΠΌΠ°ΡΠΈΠ² ΠΎΡ 4 Π΄ΠΈΡΠΊΠ°, ΡΠΎ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΈΡΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅, Π°ΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° 4*2=8.
Zabbix: perf_counter[LogicalDisk(_Total)Avg. Disk Queue Length], Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π·Π° Π½ΡΠΆΠ½ΠΈΡ Π΄ΠΈΡΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠ°: perf_counter[LogicalDisk(C:)Avg. Disk Queue Length]
- Avg Disc sec/Read
- ΠΠ°ΠΌΠ΅Ρ
- Pages/sec
ΠΠΎΠΊΠ°Π·Π²Π° Π±ΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ SQL Server Π΅ ΡΠ΅Π» ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΈΠ»ΠΈ Π΅ Π·Π°ΠΏΠΈΡΠ°Π» Π½Π° Π΄ΠΈΡΠΊΠ°, Π·Π° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π±ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π° Π΄ΠΎΡΡΡΠΏΠ°. Π’Π°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΅ ΡΡΠΌΠ°ΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Pages Input/sec ΠΈ Pages Output/sec ΠΈ Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΎΠ±ΠΌΠ΅Π½ (ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠ°/ΡΠ²ΠΎΠΏΠΈΠ½Π³) Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π°ΡΠ° ΠΊΠ΅Ρ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠ° Π½Π° Π½Π΅ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΡΠ°Π·Π΅Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΡΠ΅ΡΡΠΈΠΊ, Π·Π° ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ° Π³ΠΎΠ»ΡΠΌΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡ Ρ Π½Π΅Π³ΠΎ ΠΈΠ·Π»ΠΈΡΠ΅Π½ ΡΡΡΠ°Π½ΠΈΡΠ΅Π½ ΠΎΠ±ΠΌΠ΅Π½. Π’ΠΎΠ·ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠ° ΠΎΠ±Π΅ΠΌΠ° Π½Π° ΡΠ²ΠΎΠΏΠΈΠ½Π³Π° ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π½ΠΎΡΠΌΠ°Π»Π½Π° (Π½Π΅ ΠΏΠΈΠΊΠΎΠ²ΠΎ) ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π½ΡΠ»Π°. Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ²ΠΎΠΏΠΈΠ½Π³Π° ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° RAM ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΡΡΠ²Π΅ΡΠ°.Zabbix: perf_counter[MemoryPages/sec]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ:
{ΠΠΠ_ΠΠ_ΠΠͺΠΠΠ:perf_counter[MemoryPages/sec].min(5m)}>1000, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - Page Faults/sec
Π’Π°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΡΠ΅Π» Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅. ΠΡΠ΅ΡΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠΎΡΡΠΎ Π½Π΅ Π΅ Π² ΡΠ°Π±ΠΎΡΠ½ΠΈΡ Π½Π°Π±ΠΎΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ. Π’ΠΎΠ·ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ ΠΎΡΡΠΈΡΠ° ΠΊΠ°ΠΊΡΠΎ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄ΠΈΡΠΊΠ°, ΡΠ°ΠΊΠ° ΠΈ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΈΠ·Π²ΡΠ½ ΡΠ°Π±ΠΎΡΠ½ΠΈΡ Π½Π°Π±ΠΎΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΎΡ Π²ΡΠΎΡΠΈΡ ΡΠΈΠΏ Π±Π΅Π· Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΎΡ ΠΏΡΡΠ²ΠΈΡ ΡΠΈΠΏ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄ΠΈΡΠΊΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ.
Zabbix: perf_counter[MemoryPage Faults/sec]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ:
{ΠΠΠ_ΠΠ_ΠΠͺΠΠΠ:perf_counter[MemoryPage Faults/sec].min(5m)}>1000, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΠΎΡΡΡΠΏΠ½ΠΈ ΠΠ°ΠΉΡΠΎΠ²Π΅
ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² Π±Π°ΠΉΡΠΎΠ²Π΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠΈΡΠΊΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π²Π°Ρ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π’ΠΎΠ·ΠΈ ΡΡΠ΅ΡΡΠΈΠΊ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°Π΄ 5000 ΠΠ.
ΠΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ ΠΏΡΠ°Π³ Π·Π° Available Mbytes ΡΡΡΠ½ΠΎ ΠΎΡ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ:β’50% ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ = ΠΡΠ»ΠΈΡΠ½ΠΎ
β’25% Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ = ΠΠ·ΠΈΡΠΊΠ²Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅
β’10% ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ = ΠΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ
β’ΠΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ 5% Π½Π°Π»ΠΈΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ = ΠΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° ΡΠΊΠΎΡΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΠ²ΠΎ.
Zabbix: perf_counter[MemoryAvailable Bytes]
- Pages/sec
- ΠΡΠΎΡΠ΅ΡΠΎΡ (ΠΠ±ΡΠΎ): % ΠΡΠ΅ΠΌΠ΅ Π½Π° ΠΡΠΎΡΠ΅ΡΠΎΡΠ°
Π’ΠΎΠ·ΠΈ Π±ΡΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠΎΡΠ΅Π½ΡΠ½ΠΎΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΏΡΠ΅Π· ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΡΡ Π΅ Π±ΠΈΠ» Π·Π°Π΅Ρ Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π½Π΅ΠΏΡΠ°Π·Π½ΠΈ Π½ΠΈΡΠΊΠΈ (non-Idle thread). Π’Π°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ Π΄ΡΠ» ΠΎΡ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΠΏΠ°Π΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΠ°Π±ΠΎΡΠ°. ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ Π½Π° ΠΏΡΠ°Π·Π½Π° Π½ΠΈΡΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° Π½Π΅ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈ ΡΠΈΠΊΠ»ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈΡΠ΅ Π½ΠΈΡΠΊΠΈ. ΠΠ° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ ΡΠ° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠ°ΠΉΠ½ΠΈ Π²ΡΡΡ ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π°Ρ 100 ΠΏΡΠΎΡΠ΅Π½ΡΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Ρ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° Π΅ Π½Π°Π΄ 80 ΠΏΡΠΎΡΠ΅Π½ΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ.Zabbix: perf_counter[Processor(_Total)% Processor Time], ΡΡΠΊ ΡΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎ ΡΠ΄ΡΠ°
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ:
{ΠΠΠΠΠΠΠΠ_Π£ΠΠΠ:perf_counter[Processor(_Total)% Processor Time].min(5m)}>80, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΡΠ΅ΠΆΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (*): % Bytes Total/sec
ΠΠ±ΡΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ Π±Π°ΠΉΡΠΎΠ²Π΅ Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π° ΠΏΡΠ΅Π· Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π² Π±Π°ΠΉΡΠΎΠ²Π΅). ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΠ°Π²Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΊΠ°ΡΡΠ°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ Π½Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 50% ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ Π°Π΄Π°ΠΏΡΠ΅Ρ.
Zabbix: perf_counter[Network Interface(*)Bytes Sent/sec] - MS SQL Server: ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ
ΠΠ±Π΅ΠΊΡΡΡ ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ (Access Methods) Π² SQL Server ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±ΡΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠΌΠ°Π³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ Π»ΠΎΠ³ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ° ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΡΠΎΡΡΠΈ Π½Π° Π±ΡΡΠ΅ΡΠ½ΠΈΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ. ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π΄Π°Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΡΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΠΈΠΈ, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΠΊΡΡΠ° Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΡΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΠΉΠΊΠΈ ΠΎΠ±Π΅ΠΌΠ° ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°. ΠΡΠ΅ΠΊΠΎΠΌΠ΅ΡΠ½Π°ΡΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.- Page Splits/sec
ΠΡΠΎΡΡ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠΈΡΠΎΠΊΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ SQL Server ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° Π½ΠΎΠ²ΠΎ ΠΌΡΡΡΠΎ. Π’Π΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±ΡΠ³Π²Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΠΏΠΎ Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°:
β Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΊΠ»ΡΡΡΠ΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΡΠ°Π²ΡΠ½ΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΠΈ, Π²Π΅ΡΠ΅ Π·Π°Π΅ΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ, Π° ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½ΠΎΠ²ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ;
β Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΈΠ·Π³ΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Fillfactor. Π’ΠΎΠ·ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΌΡΡΡΠΎ Π² ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Access MethodsPage Splits/secΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠ_ΠΠ_ΠΠͺΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Access MethodsPage Splits/secΒ»,30].last()}>{ΠΠΠ_ΠΠ_ΠΠͺΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:SQL StatisticsBatch Requests/secΒ»,30].last()}\/5, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - Full Scans/sec
ΠΡΠΎΡΡ Π½Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠ»Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΡΠΌ ΡΠ΅Π·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠ°Π΄Π°Ρ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΈ ΠΏΡΠ»Π½ΠΎΡΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠΎΡΡΠΎΡΠ½Π½ΠΎΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π·Π° Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (Π»ΠΈΠΏΡΠ° Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΡΡΡ Π½Π°ΡΠ° ΡΠΈΠ»Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π½Π΅ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΎΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ°, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ). ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΏΡΠ»Π½ΠΎΡΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°ΠΊΠΎ ΡΡΠΏΠ΅Π΅ΠΌ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΡΡΠ»Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π² ΠΠΠ£, ΠΏΡΠ»Π½ΠΎΡΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠΎ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΈΡΡ ΡΡΡΡ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΠΎΡΠ½Π°ΡΡ ΡΠ°ΠΌΠΎ Π·Π° OLTP-ΡΠΈΡΡΠ΅ΠΌΠΈ. Π OLAP-ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΈΡΠ΅ ΠΏΡΠ»Π½ΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½ΠΈΡ ΡΠ° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Access MethodsFull Scans/secΒ»,30]
- Page Splits/sec
- MS SQL Server: Buffer Manager
ΠΠ±Π΅ΠΊΡΡΡ Buffer Manager (ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° Π±ΡΡΠ΅ΡΠ°) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±ΡΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π΄Π° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° ΠΊΠ°ΠΊ SQL Server ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ:
β ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ;
β Π±ΡΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ»ΡΠΆΠ°Ρ Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄, ΠΊΠΎΠ³Π°ΡΠΎ SQL Server ΡΠ΅ΡΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΡ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ;
β ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠ» Π·Π° ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΊΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΡΡΠ·Π° Π΅Π½Π΅ΡΠ³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΏΠ°ΠΌΠ΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ SSD;
β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π±ΡΠΎΡΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ SQL Server, ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ;
β ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π»ΠΈ "ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ°", ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠΊΠΎ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ Π² ΠΊΠ΅ΡΠ°, SQL Server Π΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° Π³ΠΈ ΡΠ΅ΡΠ΅ ΠΎΡ Π΄ΠΈΡΠΊΠ°;
β ΠΌΠΎΠΆΠ΅ Π»ΠΈ Π΄Π° ΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ ΠΎΠ±Π΅ΠΌΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° SQL Server;
β ΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΡΡΠΎ SQL Server ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ°. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΡΠΎ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡΡ Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄ ΠΎΡΠ½Π΅ΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅. ΠΠ°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ.- Π‘ΠΏΠΎΡΠ΅Π΄ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π° ΡΡΠΏΠ΅Ρ
Π½Π° ΠΊΠ΅ΡΠ°
ΠΠΎΠΊΠ°Π·Π²Π° Π΄ΠΎΠΊΠΎΠ»ΠΊΠΎ SQL Server ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π² Π±ΡΡΠ΅ΡΠ° Π½Π° ΠΊΠ΅ΡΠ°. ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠ° Π΅ ΡΠ°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π½Π° SQL ΡΡΡΠ²ΡΡΠ° Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² Π±ΡΡΠ΅ΡΠ° Π½Π° ΠΊΠ΅ΡΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄ (I/O) ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΡΡΡΡΠ²Π°Ρ. ΠΠΊΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΡΠΏΠ°Π΄ Π½Π° ΡΡΠ΅Π΄Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΌΠΈΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° RAM. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» Π²ΠΈΠ½Π°Π³ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π½Π°Π΄ 90% Π·Π° OLTP ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π½Π°Π΄ 50% Π·Π° OLAP ΡΠΈΡΡΠ΅ΠΌΠΈ.
Zabbix: perf_counter["MSSQL$ΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Buffer ManagerBuffer cache hit ratio",30]
ΠΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΡΡΠΈΠ³Π΅ΡΠΈ: {ΠΠΠ_ΠΠͺΠΠΠ:perf_counter["MSSQL$ΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Buffer ManagerBuffer cache hit ratio",30].last()}<70, Π½ΠΈΠ²ΠΎ-Π²ΠΈΡΠΎΠΊΠΎ
ΠΈ
{ΠΠΠ_ΠΠͺΠΠΠ:perf_counter["MSSQL$ΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Buffer ManagerBuffer cache hit ratio",30].last()}<80, Π½ΠΈΠ²ΠΎ-ΡΡΠ΅Π΄Π½ΠΎ - ΠΡΠ°ΠΊΠ²Π°Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°
ΠΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠ»Π³ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅ ΠΎΡΡΠ°Π½Π΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅. ΠΠΊΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°, ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π° Ρ Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠ». Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π‘ΡΡΡΠ²Π° ΡΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Π½ΡΠΌΠ° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π», ΠΏΠΎΠ΄ ΠΊΠΎΠΉΡΠΎ Π΄Π° ΡΠ΅ ΡΡΠ΄ΠΈ Π½Π΅Π΄Π²ΡΡΠΌΠΈΡΠ»Π΅Π½ΠΎ, ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π° Ρ Π±ΡΡΠ΅ΡΠ½ΠΈΡ ΠΏΡΠ» (ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡ ΠΎΡ 300 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π΅ ΠΎΡΡΠ°ΡΡΠ» Ρ MS SQL Server 2012).
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Buffer ManagerPage life expectancyΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠ_ΠΠ_ΠΠ ΠͺΠΠΠΠ’Π:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Buffer ManagerPage life expectancyΒ»,30].last()}<5, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- Π‘ΠΏΠΎΡΠ΅Π΄ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π·Π° ΡΡΠΏΠ΅Ρ
Π½Π° ΠΊΠ΅ΡΠ°
- MS SQL Server: ΠΠ±ΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ
ΠΠ±Π΅ΠΊΡΡΡ General Statistics (ΠΠ±ΡΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ) Π² SQL Server ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅ΡΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°ΡΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠΎΡ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠΈ ΠΈ Π±ΡΠΎΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡΠ°, Π½Π° ΠΊΠΎΠΉΡΠΎ Π΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° SQL Server. Π’Π΅Π·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΡΠ° ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (OLTP), ΠΊΡΠ΄Π΅ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ²Π°Ρ ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° SQL Server.- ΠΡΠΎΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½
ΠΡΠΎΠΉ Π½Π° Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:General StatisticsProcesses blockedΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: ({ΠΠΠ_ΠΠ_ΠΠ ΠͺΠΠΠΠ’Π:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:General StatisticsProcesses blockedΒ»,30].min(2m,0)}>=0)
ΠΈ ({ΠΠΠ_ΠΠ_ΠΠ ΠͺΠΠΠΠ’Π:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:General StatisticsProcesses blockedΒ»,30].time(0)}>=50000)
ΠΈ ({ΠΠΠ_ΠΠ_ΠΠ ΠͺΠΠΠΠ’Π:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:General StatisticsProcesses blockedΒ»,30].time(0)}<=230000), Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (ΡΡΠΊ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠΈΠ³Π½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡ 05:00 Π΄ΠΎ 23:00) - ΠΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π²ΡΡΠ·ΠΊΠΈ
ΠΡΠΎΠΉ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΊΡΠΌ SQL Server.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:General StatisticsUser ConnectionsΒ»,30]
- ΠΡΠΎΡΠ΅Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½
- MS SQL Server: ΠΠ°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ
ΠΠ±Π΅ΠΊΡ Locks (ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ) Π² Microsoft SQL Server ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ Π½Π° SQL Server, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ Π·Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΡΠ΅ΡΡΡΡΠΈ. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π΄Π°Π²Π°Ρ Π½Π° ΡΠ΅ΡΡΡΡΠΈ Π½Π° SQL Server, ΠΊΠ°ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Ρ ΡΠ΅Π» ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ° ΠΏΠΎΠ»ΡΡΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½Π° (X) Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠ΅Π΄ Π² ΡΠ°Π±Π»ΠΈΡΠ°, Π½ΠΈΠΊΠΎΡ Π΄ΡΡΠ³Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° ΡΠΎΠ·ΠΈ ΡΠ΅Π΄, Π΄ΠΎΠΊΠ°ΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½Π°. ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ. ΠΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠ° Locks, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ Π²ΠΈΠ΄ ΡΠ΅ΡΡΡΡ.- Π‘ΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ (ms)
Π‘ΡΠ΅Π΄Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ (Π² ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ) Π·Π° Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π΅ Π±ΠΈΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅. Π’ΠΎΠ·ΠΈ Π±ΡΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ΅Π΄Π½ΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ°ΠΊΠ°Ρ, Π·Π° Π΄Π° Π½Π°Π»ΠΎΠΆΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠ΅ΡΡΡΡΠ°. ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ Π½Π°ΠΏΡΠ»Π½ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅, ΡΡΡΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²Π° ΡΡΠ΅Π΄Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΊ. ΠΡΠ΅ΠΊΠ°Π»Π΅Π½ΠΎ Π²ΠΈΡΠΎΠΊΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° ΡΠΎΠ·ΠΈ Π±ΡΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Average Wait Time (ms)Β»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠΠΠΠΠΠ_Π£ΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Average Wait Time (ms)Β»,30].last()}>=500, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (ms)
ΠΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (Π² ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ) Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ΅ΠΊΡΠ½Π΄Π°.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Lock Wait Time (ms)Β»,30] - ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΡΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ/ΡΠ΅ΠΊ
ΠΡΠΎΠΉ ΡΠ»ΡΡΠ°ΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠΎΠΊΡΡ Π΅ ΡΡΡΠ±Π²Π°Π»ΠΎ Π΄Π° ΠΈΠ·ΡΠ°ΠΊΠ° Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Lock Waits/ΡΠ΅ΠΊΒ»,30] - Π’Π°ΠΉΠΌ-Π°ΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ/ΡΠ΅ΠΊ
ΠΡΠΎΠΉ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅ Π΅ ΡΡΠΏΡΠ» Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π· ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ. Π‘ΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° SQL Server spin counter ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ Π±ΡΠΎΡ Π½Π° βΠΎΠ±ΠΎΡΠΎΡΠΈΡΠ΅β Π½Π° ΠΏΠΎΡΠΎΠΊΠ° (spins), ΠΏΡΠ΅Π΄ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΡΡ Π΄Π° ΠΈΠ·ΡΠ΅ΡΠ΅ ΠΈ ΠΏΠΎΡΠΎΠΊΡΡ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ Π² Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Lock Timeouts/ΡΠ΅ΠΊΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠΠΠΠΠΠ_Π£ΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠΠΠΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Locks(_Total)Lock Timeouts/ΡΠ΅ΠΊΒ»,30].last()}>1000, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΡΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ/ΡΠ΅ΠΊ
ΠΡΠΎΠΉ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π·Π° ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠΏ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Lock Requests/secΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Lock Requests/secΒ»,30].last()}>500000, Π½ΠΈΠ²ΠΎ-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ - ΠΡΠΎΠΉ Π½Π° ΠΌΡΡΡΠ²ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°
ΠΡΠΎΠΉ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΠΎΠ±ΡΠΈ ΡΠ΅ΡΡΡΡΠΈ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Number of Deadlocks/secΒ»,30]
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠΈΠ³Π΅Ρ: {ΠΠΠ_ΠΠ_Π£ΠΠΠ:perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Locks(_Total)Number of Deadlocks/secΒ»,30].last()}>1, Π½ΠΈΠ²ΠΎ-Π²ΠΈΡΠΎΠΊ
- Π‘ΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ (ms)
- MS SQL Server: ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°
ΠΠ±Π΅ΠΊΡΡΡ ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Microsoft SQL Server ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±ΡΠΎΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅Π»ΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠΎΠ½ΡΡΠΎΠ»ΡΡ Π²ΡΡΡ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ΅Π»ΠΈΡ ΡΡΡΠ²ΡΡ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠΎΠ½ΡΡΠΎΠ»ΡΡ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° SQL Server, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ:
β Π΄Π°Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°ΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΠΊΠ΅ΡΠ° Π½Π° ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΊΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°, SQL Server ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ°;
β Π΄Π°Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ, Π°ΠΊΠΎ Π±ΡΠ΄Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ ΠΎΠ±Π΅ΠΌΡΡ Π½Π° Π½Π°Π»ΠΈΡΠ½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° SQL Server.- Outstanding Memory Grants
Π£ΠΊΠ°Π·Π²Π° ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΏΠ°ΠΌΠ΅Ρ Π² ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ. ΠΡΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ RAM.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Memory ManagerMemory Grants OutstandingΒ»,30] - Pending Memory Grants
Π£ΠΊΠ°Π·Π²Π° ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΠ°ΠΊΠ°ΡΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΡΠΈ ΡΡΠ°Π±ΠΈΠ»Π΅Π½ ΡΠ°ΡΡΠ΅ΠΆ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ, Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ RAM.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:Memory ManagerMemory Grants PendingΒ»,30]
- Outstanding Memory Grants
- MS SQL Server: Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
ΠΠ±Π΅ΠΊΡΡΡ Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π² Microsoft SQL Server ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π° Π±ΡΠΎΡΡΠΈ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π·Π°ΡΠ²ΠΊΠΈ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ΠΈ Π΄ΠΎ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° SQL Server. ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΈ Π±ΡΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° SQL Server, Π΄Π°Π²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π° Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ·ΠΎ SQL Server ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ.- ΠΠ°ΡΠ²ΠΊΠΈ Π½Π° ΠΏΠ°ΡΡΠΈΠ΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°
ΠΡΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Transact-SQL, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Π°. ΠΠ° ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π²Π»ΠΈΡΡΡ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ (Π²Ρ ΠΎΠ΄-ΠΈΠ·Ρ ΠΎΠ΄, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΠ΅ΡΠ°, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ Π½Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° ΠΈ Ρ.Π½.). ΠΠΈΡΠΎΠΊΠΈΡΡ Π±ΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΠ²Π° Π·Π° Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ.
Zabbix: perf_counter[Β«MSSQL$ΠΠΠ_ΠΠΠΠΠΠΠΠ―Π Π:SQL StatisticsBatch Requests/secΒ»,30]
- ΠΠ°ΡΠ²ΠΊΠΈ Π½Π° ΠΏΠ°ΡΡΠΈΠ΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°
ΠΡΠ²Π΅Π½ Π²ΡΠΈΡΠΊΠΎ ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΡΡ ΠΈ Π΄ΡΡΠ³ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ (ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΡΡΠΈΠ³Π΅ΡΠΈ ΠΏΠΎ ΡΡΡ
Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π²Π°ΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
1) ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΡΠΎ ΠΌΡΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ°
2) ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ Π½Π° ΠΆΡΡΠ½Π°Π»Π°
ΠΈ Π΄Ρ.
ΠΠ±Π°ΡΠ΅, Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎΡΠ½ΠΎ Ρ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ° ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π±ΡΠΎΡΡΠΈ.
ΠΠΎΡΠ°Π΄ΠΈ ΡΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΎΡΡ, Π½ΡΠΌΠ° Π΄Π° Π΄Π°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π½Π° ΡΠ°ΠΊΠΈΠ²Π° Π±ΡΠΎΡΡΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΎ Π·Π° Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ, ΡΠ΅ Π·Π° ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ 1Π‘, NAV ΠΈ CRM, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±ΡΠΎΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π°Ρ ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΡΡ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
Π©Π΅ Π΄Π°ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π», ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΎΡΠ°ΠΊΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΡΡΠ½ΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ) Π² Π΄Π°Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ° ΡΠΎΠ²Π° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°:
ΠΠΎΠ΄
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
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ°ΡΠ°, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Zabbix (zabbixconfuserparams.d) ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ 2 ΡΠ°ΠΉΠ»Π° Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ ps1 (PowerShell) ΠΈ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π² Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ
ΡΠ»Π΅Π΄Π½ΠΈΡ ΠΊΠΎΠ΄:
ΠΠΎΠ΄ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ
$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
$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;
ΠΠΎΠ΄ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ
$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
$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;
Π‘Π΅Π³Π° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ .conf (ΠΈΠ»ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΡΠ°ΠΊΡΠ² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ°ΠΉΠ», Π°ΠΊΠΎ ΡΠΎΠΉ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°) ΠΈ Π΄Π° ΡΠ΅ Π²ΠΌΡΠΊΠ½Π°Ρ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅:
UserParameter=ΠΠΠ―_ΠΠΠ ΠΠΠΠ’Π Π_ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ_ΠΠΠΠͺΠΠΠΠΠ_ΠΠΠΠΠ’ΠΠΠΠΠ―,powershell -NoProfile -ExecutionPolicy Bypass -File ΠΠͺΠΠΠ_ΠΠͺΠ’zabbixconfuserparams.dΠΠΠ_Π€ΠΠΠΠ_ΠΠ_ΠΠΠΠͺΠΠΠΠΠ_ΠΠΠΠΠ’ΠΠΠΠΠ―.ps1
UserParameter=ΠΠΠ―_ΠΠΠ ΠΠΠΠ’Π Π_ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ_ΠΠ§ΠΠΠΠΠ©Π_ΠΠΠΠΠ’ΠΠΠΠΠ―,powershell -NoProfile -ExecutionPolicy Bypass -File ΠΠͺΠΠΠ_ΠΠͺΠ’zabbixconfuserparams.dΠΠΠ_Π€ΠΠΠΠ_ΠΠ_ΠΠ§ΠΠΠΠΠ©Π_ΠΠΠΠΠ’ΠΠΠΠΠ―.ps1
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π·Π°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° .conf ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Zabbix Π°Π³Π΅Π½ΡΠ°.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ Π΄Π²Π° Π½ΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ° Π² Zabbix (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΠΈΠΌΠ΅Π½Π°ΡΠ° ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ΡΠ΅ ΡΡΠ²ΠΏΠ°Π΄Π°Ρ):
ΠΠΠ―_ΠΠΠ ΠΠΠΠ’Π Π_ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ_ΠΠΠΠͺΠΠΠΠΠ_ΠΠΠΠΠ’ΠΠΠΠΠ―
ΠΠΠ―_ΠΠΠ ΠΠΠΠ’Π Π_ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ_ΠΠ§ΠΠΠΠΠ©Π_ΠΠΠΠΠ’ΠΠΠΠΠ―
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ ΡΡΠΈΠ³Π΅ΡΠΈ Π·Π° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΠΊΠΎ Π±ΡΠΎΡΡ Π½Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ·ΠΊΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°, ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠΈ ΡΠ΅ ΠΈ ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Ρ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ ΠΎΡΠΊΡΠ΄Π΅ ΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΡΠ² Π»ΠΎΠ³ΠΈΠ½ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΏΠ»Π°Π½Π° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄ΡΡΠ³ΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ:
ΠΠΎΠ΄
/*ΠΠΊΡΠΈΠ²Π½ΡΠ΅, Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅, ΡΡΠΎ ΡΠ²Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π°Π½ΡΡ*/
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);
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π°ΠΏΠΎΠΌΠ½ΡΠΌ, ΡΠ΅ ΠΏΠΎ ΡΡΠ±ΡΠ°Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ:
ΠΠΎΠ΄
/*
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
ΠΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈ Π·Π° MySQL. ΠΠ° ΡΠ΅Π»ΡΠ° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΊΡΠ² ΠΊΠΎΠ΄:
ΠΠΎΠ΄ Π·Π° ΠΈΠ·ΡΠ°ΠΊΠ²Π°ΡΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ
#ΠΠ°Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ 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;
Π Π΅Π·ΡΠ»ΡΠ°Ρ
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π±Π΅ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π±ΡΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ (Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ) Π² Zabbix. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΡΠ²Π°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π±ΡΠ΄Π΅ΡΠΈΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΡΠΏΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π‘Π£ΠΠ ΠΈ ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° Π·Π°ΡΠΈΡΠ°Π²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ.
ΠΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ:
ΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
Β»
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
