Π Π°Π±ΠΎΡΠ° Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π±Π°Π·Π΅ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΆΠ°Π»ΡΡΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Β«Π·Π°Π²ΠΈΡΠ»Π°Β» ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, Π² 90% ΡΠ»ΡΡΠ°Π΅Π² Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠΎΠΌ Π²ΡΡΡΡΠΏΠ°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (locks). ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΠ²ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΡΡΠΊΠ°Π»Π°ΡΠΈΠΈ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ°Π±ΠΎΡΡ, Π³Π΄Π΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π²ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π»ΠΎΠΆΠΈΡΡΡ Π½Π° Π‘Π£ΠΠ. SQL Server ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΅ΠΏΠ½ΠΎΠΉ ΡΠ΅Π°ΠΊΡΠΈΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π½ΠΎ ΠΈ ΡΠΌΠ΅ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° 1Π‘, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SQL Server Management Studio ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (DMV), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°Π³Π»ΡΠ½ΡΡΡ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΒ» ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΠ½ΡΠΎΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² 1Π‘ ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π½ΡΡ ΠΈ ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π‘Π£ΠΠ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΌΠ°ΡΡΠΎΠ²ΠΎΠΌ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ.
Π ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅Π°Π½ΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ΅Π°Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°ΡΡΡΠ΅ Β«ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡΒ» ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π½Ρ, Π½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡΠΊΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π°Π½ΡΠ° 1Π‘ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠ½ΡΡΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² SQL Server. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°ΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π‘Π£ΠΠ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°ΡΠ° (rollback), ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ½Π°Π»ΠΈΠ· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΠ΅ΡΠ΅Π· SQL Server Management Studio
ΠΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ SQL Server Management Studio (SSMS). ΠΡΠ° ΡΡΠ΅Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΡΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Ρ
ΡΠ°Π½ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ sp_who2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
DMV.
ΠΠΎΠΌΠ°Π½Π΄Π° sp_who2 Π²ΡΠ΄Π°Π΅Ρ ΡΠ²ΠΎΠ΄Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ BlkBy (Blocked By). ΠΡΠ»ΠΈ Π² ΡΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΊΠ°Π·Π°Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° (SPID), Π·Π½Π°ΡΠΈΡ, ΡΠ΅ΠΊΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Β«.Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π½ΠΈΠΊΠ΅ΠΌ Π½Π΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½.
ΠΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ sys.dm_exec_requests. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ
ΡΡ Π·Π°ΠΏΡΠΎΡΠ°Ρ
, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΈ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡΠ°. ΠΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΠΎΡ Π΄Π΅ΡΠΆΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΠΈ ΠΊΡΠΎ ΠΎΡ Π½Π΅Π³ΠΎ ΡΡΡΠ°Π΄Π°Π΅Ρ.
SELECT
session_id,
blocking_session_id,
wait_type,
wait_time,
command
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0;
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Β«Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠ°Β» ΡΠΎΡΠΆΠ΅ΡΡΠ²Π° β ΡΠ΅ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΡΡΡ ΠΈ Π½Π΅ Π΄Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§Π°ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ Π²ΠΈΠ½ΠΎΠ²Π½ΠΈΠΊΠΎΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π·Π°Π±ΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΡΠΆΠ΅Π»ΡΠΉ ΠΎΡΡΠ΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Π² SSMS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+R ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (DMV) Π΄Π»Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°Ρ
Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (Dynamic Management Views), ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ sys.dm_tran_locks, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅Ρ
ΡΠ΅ΠΊΡΡΠΈΡ
Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°Ρ
Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠ½Π°Π·ΠΈΡΡΡ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π½ΠΎ ΠΈ Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ (Shared, Update, Exclusive) ΠΈ ΡΠ΅ΡΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½Π° Π½Π°Π»ΠΎΠΆΠ΅Π½Π°. ΠΡΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΠΈΠΏΠ° SCH-M (Schema Modification), ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΠΏΠ»Π°Π½ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΡΡΠΈΡ-Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΡΠΈΠΊΠ°, ΡΠ΅ΡΡΠΈΡ-ΠΆΠ΅ΡΡΠ²Ρ, ΡΠ΅ΠΊΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠΉ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅.
| Π’ΠΈΠΏ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ | Π Π΅ΠΆΠΈΠΌ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ | Π§Π°ΡΡΠΎΡΠ° Π² 1Π‘ |
|---|---|---|---|
| S (Share) | Π Π°Π·Π΄Π΅Π»ΡΡΡΠ°Ρ | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΡΠ°ΡΡ, Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ | ΠΡΡΠΎΠΊΠ°Ρ |
| X (Exclusive) | ΠΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½Π°Ρ | ΠΠ»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ | Π‘ΡΠ΅Π΄Π½ΡΡ |
| U (Update) | ΠΠ±Π½ΠΎΠ²Π»ΡΡΡΠ°Ρ | ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ | Π‘ΡΠ΅Π΄Π½ΡΡ |
| IX (Intent X) | ΠΠ°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½Π°Ρ | Π‘ΠΈΠ³Π½Π°Π» ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡ Π½ΠΈΠΆΠ΅ | ΠΡΡΠΎΠΊΠ°Ρ |
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ°ΡΠ°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΠΎΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΊΠ°Π»Π°ΡΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ?
ΠΡΠΊΠ°Π»Π°ΡΠΈΡ β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ SQL Server Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ) ΠΎΠ΄Π½ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ (Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ). ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ ΡΠ΅Π·ΠΊΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ°ΡΡΠΎΠ²ΡΠ΅ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π° (Π’Π)
ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΡΠ΅Π΄ΡΡΠ² Π‘Π£ΠΠ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½Π° ΡΡΠ΅Π½Ρ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΆΡΡΠ½Π°Π» ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘. ΠΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π‘Π£ΠΠ. ΠΠ»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ DBMSSQL ΠΈΠ»ΠΈ MSSQL.
Π Π»ΠΎΠ³Π°Ρ Π’Π ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎ Π½Π°ΡΠ°Π»Π΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ Π΄ΠΎΠ»Π³ΠΎ, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π² SQL Server Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΠ°Π»Π° Π·Π°ΠΏΡΠΎΡΠ° Π² Π’Π ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² Π‘Π£ΠΠ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ ΡΡΠ°ΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π’Π ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ±ΠΎΡ Π»ΠΎΠ³ΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π€Π°ΠΉΠ»Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΆΡΡΠ½Π°Π»Π° ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° 1Π‘, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°.
βοΈ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π’Π Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ±ΠΎΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ deadlocks
ΠΡΠΎΠ±ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (deadlocks), ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ². SQL Server Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Β«ΠΆΠ΅ΡΡΠ²ΡΒ» ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, Π½ΠΎ Π±Π΅Π· ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°ΠΌ ΡΠ°ΠΊΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ.
ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ deadlocks ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ (SQL Trace) ΠΈΠ»ΠΈ Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ (Extended Events). Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡΡ SQL Server ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Extended Events, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ.
ΠΠ°ΡΡΡΠΎΠΈΠ² ΡΠΎΠ±ΡΡΠΈΠ΅ xml_deadlock_report, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΡ
Π΅ΠΌΠΎΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ. ΠΡΠΎΡ ΠΎΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
, ΡΠΈΠΏΠ°Ρ
Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ ΡΠ΅ΠΊΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ 1Π‘ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠΏΠΈΠΊΠΎΠ².
CREATE EVENT SESSION [Deadlock_Monitor] ON SERVER
ADD EVENT sqlserver.xml_deadlock_report
ADD TARGET package0.event_file(SET filename=N'Deadlocks.xel');
GO
ALTER EVENT SESSION [Deadlock_Monitor] ON SERVER STATE = START;
Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠ°Π½ΡΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΡΠ½ΡΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π²Π·Π°ΠΈΠΌΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΠ΅ΡΠ΅Π· Extended Events β ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ Π΄Π΅-ΡΠ°ΠΊΡΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² 1Π‘, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ² Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°ΠΉΠ΄Π΅Π½, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΌΠ΅ΡΡ ΠΏΠΎ Π΅Π³ΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π·Π°Π²ΠΈΡΡΠΈΠΌ ΡΠ΅Π°Π½ΡΠΎΠΌ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ KILL Π² SQL Server. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ ΠΊΡΠ°ΠΉΠ½ΡΡ ΠΌΠ΅ΡΠ°. ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 1Π‘.
Π§Π°ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎ Π²ΡΠ½ΡΠΆΠ΄Π°Π΅Ρ Π‘Π£ΠΠ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΠΊΠ»ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠΎΠΊΠΈ (Snapshot Isolation) ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅.
- π ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° ΠΏΠΎΠ»ΡΡ , ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ.
- π ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ°Π·Π±ΠΈΠ²Π°Ρ ΠΈΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΠ°ΠΏΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Π±ΠΈΠ·Π½Π΅ΡΠ°.
- π ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ READ COMMITTED SNAPSHOT Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ ΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ 1Π‘ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Π°, ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠΈΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ SQL Π±Π΅Π· ΡΡΠ΅ΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΡ. ΠΡΠ΅Π³Π΄Π° ΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ ΠΏΠ΅ΡΠ΅Π΄ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SQL Server ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ (2016, 2019, 2022). ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π΅ΡΡΡΠ΅ΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Microsoft Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π‘Π£ΠΠ.
Π§Π°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ (FAQ)
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² 1Π‘ SQL?
ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ (ACID). ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ½ΠΈΠΌΠΊΠΎΠ² (Snapshot), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΠΎΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π²ΠΈΡΠΈΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ° 1Π‘?
ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ»Π° ΡΠ²Π½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π° (commit) ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠ΅Π½Π° (rollback) ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΡΠ²ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. SQL Server ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΠ°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ Π±Π°Π·Ρ Π² ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΊ ΠΎΡΠ»ΠΈΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΠΎΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° CPU?
ΠΡΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Π² sys.dm_exec_requests Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°ΡΡΡ SUSPENDED ΠΈ ΡΠΈΠΏ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (wait_type), ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, LCK_M_*). ΠΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ RUNNING, Π° ΡΠΈΠΏ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ β SOSSCHEDULER_YIELD ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ.
ΠΠ»ΠΈΡΠ΅Ρ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ?
ΠΠ°, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΡΠ°ΡΠΊΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² Π½Π΅ΡΠ°Π±ΠΎΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π»ΡΡΡΠ΅: Π’Π 1Π‘ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ SQL?
ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΆΡΡΠ½Π°Π» 1Π‘ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ SQL (ΠΈΠ»ΠΈ Extended Events) ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ²ΡΠ·ΠΊΠ΅, ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.