Π’ процСссС администрирования высоконагруТСнных систСм Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ администраторы часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с критичСскими ошибками ΠΏΡ€ΠΈ сохранСнии Π΄Π°Π½Π½Ρ‹Ρ…. Одной ΠΈΠ· самых Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹Ρ… ситуаций являСтся сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ индСксС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, трСбуя Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° возникновСния Ρ‚Π°ΠΊΠΎΠΉ ошибки кроСтся Π² Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”. Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСкс накладываСтся Π½Π° ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ»Π΅ΠΉ для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ каТдая запись Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ свой Π½Π΅ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌΡ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Если Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ строк с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ значСниями Π² индСксированных полях, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… отказываСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, воспринимая это ΠΊΠ°ΠΊ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ΅.

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° останавливаСт бизнСс-процСссы. Однако ΠΏΠ°Π½ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ стоит: Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π° Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ индСксов β€” Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² Π½ΠΎΡ€ΠΌΡƒ. Для этого потрСбуСтся провСсти диагностику, Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΡ… устранСния, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ стандартныС срСдства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ прямоС Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π² структуру Π±Π°Π·Ρ‹ Ρ‡Π΅Ρ€Π΅Π· SQL.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния Π΄ΡƒΠ±Π»Π΅ΠΉ Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксах

ПониманиС ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ сбоя β€” ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° успСха Π² Π΅Π³ΠΎ устранСнии. Π§Π°Ρ‰Π΅ всСго Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ индСкса происходит Π½Π΅ ΠΏΠΎ Π²ΠΈΠ½Π΅ самой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, Π° вслСдствиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². Одним ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных сцСнариСв являСтся Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ восстановлСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ пСрСнос Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами с использованиСм ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… спСцифику Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π‘Π£Π‘Π”.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ сбоС оборудования ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ элСктропитания сСрвСра Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ записи Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации транзакция ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, оставив Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ «мусорныС» записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ индСксами. Иногда Π²ΠΈΠ½ΠΎΠΉ становятся сторонниС скрипты ΠΈΠ»ΠΈ прямыС SQL-запросы, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ администраторами Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² ΠΎΠ±Ρ…ΠΎΠ΄ Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ Ρ‡Π΅Ρ€Π΅Π· SQL-запросы Π±Π΅Π· остановки слуТбы 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΡ‚Π΅Ρ€Π΅ работоспособности ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹. ВсСгда Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ манипуляциями.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ошибка Π² самой ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ поставки, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ допустили ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ формирования ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для Π½ΠΎΠ²Ρ‹Ρ… справочников. Π’ Ρ€Π΅Π΄ΠΊΠΈΡ… случаях Π΄ΡƒΠ±Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ послС ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΏΠΎΠ»Π΅ΠΉ Π±Ρ‹Π»ΠΈ настроСны Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

πŸ“Š Как часто Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ошибками цСлостности Π‘Π”?
Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
Π Π°Π· Π² мСсяц
Π Π΅Π΄ΠΊΠΎ, ΠΏΡ€ΠΈ сбоях
Никогда Π½Π΅ сталкивался

Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· консоль сСрвСра ΠΈ Π»ΠΎΠ³ΠΈ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ошибки являСтся точная локализация ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° потрСбуСтся ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΠΎΠ³Π°ΠΌ сСрвСра 1Π‘ ΠΈ ΠΆΡƒΡ€Π½Π°Π»Ρƒ рСгистрации событий. Π’ Π»ΠΎΠ³Π°Ρ… часто содСрТится Π±ΠΎΠ»Π΅Π΅ подробная информация ΠΎ Ρ‚ΠΎΠΌ, какая ΠΈΠΌΠ΅Π½Π½ΠΎ транзакция Π²Ρ‹Π·Π²Π°Π»Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚.

Для получСния Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ структурС индСксов ΠΈ выявлСнии Π΄ΡƒΠ±Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ прСдприятия с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ тСхничСским ΠΆΡƒΡ€Π½Π°Π»ΠΎΠΌ рСгистрации. НСобходимо Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ событий ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ DBMSSQL ΠΈΠ»ΠΈ DBPostgreSQL Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π‘Π£Π‘Π”. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ошибки Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Если ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π±Π°Π·Ρ‹, систСма часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя физичСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, _Reference123. Зная это имя, администратор ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ систСмных настроСк ΠΈΠ»ΠΈ спСциализированныС запросы ΠΊ систСмным Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для понимания, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Ρ‹.

  • πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» рСгистрации 1Π‘ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок с ΠΊΠΎΠ΄ΠΎΠΌ SQL State 23000 (Violation of Unique Constraint).
  • πŸ“‚ Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠΉΡ‚Π΅ физичСскоС имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² тСкстС ошибки сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • πŸ›  Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π²Ρ‹Π·Π²Π°Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ со стороны Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ логичСскиС Π΄ΡƒΠ±Π»ΠΈ (ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ создал Π΄Π²Π° элСмСнта с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ это Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ) ΠΈ физичСскиС Π΄ΡƒΠ±Π»ΠΈ Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксах (ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π° тСхничСская ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠΎΠ»Π΅ _RRef ΠΈΠ»ΠΈ _Order). Π’Ρ‚ΠΎΡ€ΠΎΠ΅ состояниС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ chdbfl.exe ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… Π±Π°Π·, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ вСрсиСй 1Π‘, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ слоТным SQL-запросам.

Поиск Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ записСй срСдствами SQL

Когда проблСмная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π°, самым эффСктивным способом поиска Π΄ΡƒΠ±Π»Π΅ΠΉ являСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сСлСктивного запроса Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π‘Π£Π‘Π”. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия ΠΏΡ€Π°Π² доступа уровня db_owner ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. Запрос Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ записи ΠΏΠΎ полям, входящим Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСкс, ΠΈ ΠΎΡ‚Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, количСство записСй Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… большС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹.

Бинтаксис запроса Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ систСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для MS SQL Server ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция с GROUP BY ΠΈ HAVING COUNT(*) > 1. Для PostgreSQL Π»ΠΎΠ³ΠΈΠΊΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π°, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹ с экранированиСм ΠΈΠΌΠ΅Π½ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π° Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС с подчСркиваниями.

SELECT _IDRRef, COUNT(*) as DuplicateCount

FROM _Reference123

GROUP BY _IDRRef

HAVING COUNT(*) > 1;

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса Π²Π΅Ρ€Π½Π΅Ρ‚ список ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² эти значСния, администратор ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ (SELECT *) ΠΏΠΎ этим ΠΊΠ»ΡŽΡ‡Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ строк. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΡƒΡŽ ΠΈΠ· записСй слСдуСт ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Π° ΠΊΠ°ΠΊΡƒΡŽ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π‘Π£Π‘Π” ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. ВсСгда свСряйтС синтаксис запросов с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ вашСй вСрсии SQL Server ΠΈΠ»ΠΈ PostgreSQL ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ измСнСния Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π΄ΡƒΠ±Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π² основных полях ссылки, Π° Π² составных ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, комбинация Β«Π’Π»Π°Π΄Π΅Π»Π΅Ρ† + Код». Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации Π² запросС GROUP BY Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ всС поля, входящиС Π² Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π½Ρ‹ΠΉ индСкс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²

Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π² 1Π‘ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру ΠΈ спСцифичСскиС индСксы. Поиск Π΄ΡƒΠ±Π»Π΅ΠΉ Π² Π½ΠΈΡ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры хранСния ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ рСсурсов. ΠžΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°ΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ рСгистров ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°ΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ устранСния Π΄ΡƒΠ±Π»Π΅ΠΉ ΠΈ восстановлСния цСлостности

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ строки Π½Π°ΠΉΠ΄Π΅Π½Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ΠΈΡ… удалСния. Π‘Π°ΠΌΡ‹ΠΉ бСзопасный, Π½ΠΎ Π½Π΅ всСгда Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” использованиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ «ВСстированиС ΠΈ исправлСниС» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°. Однако, Ссли ошибка Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄ Π² Π±Π°Π·Ρƒ, этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚, ΠΈ приходится Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· SQL.

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄ΡƒΠ±Π»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· SQL Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. НСльзя просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ строки, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ запись с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚. ΠŸΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ создайтС Ρ‚ΠΎΡ‡ΠΊΡƒ восстановлСния ΠΈΠ»ΠΈ Π΄Π°ΠΌΠΏ Π±Π°Π·Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ исправлСния Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ риска ВрСбования Когда ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° "ВСстированиС ΠΈ исправлСниС" Низкий Доступ Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€ΠΈ логичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… поврСТдСниях
SQL DELETE запрос Высокий ΠŸΡ€Π°Π²Π° SA/db_owner ΠŸΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹
ΠŸΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ индСксов Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° слуТбы 1Π‘ ΠŸΡ€ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ тСхничСских сбоях индСксов
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ°/Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² MXL/DT Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ мСсто Π½Π° дискС ΠŸΡ€ΠΈ массовых поврСТдСниях структуры

Если Π΄ΡƒΠ±Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π² рСгистрах свСдСний ΠΈΠ»ΠΈ накоплСния, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ рСгистра ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΅ рискованно, Ρ‡Π΅ΠΌ прямоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ° 1Π‘ сама восстановит ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ записи ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ.

β˜‘οΈ Алгоритм бСзопасного удалСния Π΄ΡƒΠ±Π»Π΅ΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈ настройка ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Π½Π΅ стала рСгулярной Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ болью, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ систСмы профилактичСского ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. РСгулярноС обслуТиваниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ пСрСстроСниС индСксов ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ возникновСния тСхничСских сбоСв, Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ цСлостности.

НастройтС автоматичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π°Π³Π΅Π½Ρ‚Π΅ SQL Server ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ PostgreSQL Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π±Π°Π·Ρ‹ (DBCC CHECKDB для MS SQL). Π­Ρ‚ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ способны ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ поврСТдСния страниц Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ индСксов Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ слСдуСт Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ администратору.

Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ прямой доступ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… для пСрсонала. ВсС измСнСния структуры ΠΈΠ»ΠΈ массовыС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс 1Π‘ ΠΈΠ»ΠΈ спСциализированныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ тСстированиС. ΠŸΡ€ΡΠΌΡ‹Π΅ SQL-запросы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠ΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΡ… администраторов Π² Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Ρ… ситуациях.

  • πŸ“… ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ СТСнСдСльноС пСрСстроСниС индСксов Π² Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя для сниТСния Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.
  • πŸ”” НастройтС Π°Π»Π΅Ρ€Ρ‚Ρ‹ Π² систСмС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° ошибки уровня Critical Π² Π»ΠΎΠ³Π°Ρ… Π‘Π£Π‘Π”.
  • πŸ’Ύ Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΏΠΎ схСмС Full + Differential + Log для возмоТности ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ Π΄ΠΎ сбоя.

Π‘Π²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ постоянно ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² старых вСрсиях ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅Π΄ΠΊΠΈΠΌ случаям Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ индСксов.

πŸ’‘

РСгулярноС обслуТиваниС Π‘Π£Π‘Π” ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° прямоС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† β€” Π»ΡƒΡ‡ΡˆΠ°Ρ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ появлСния Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… индСксах.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ 1Π‘

МоТно Π»ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±Π΅Π· остановки сСрвСра 1Π‘?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв для прямого удалСния Π΄ΡƒΠ±Π»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· SQL остановка слуТбы 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π΅ трСбуСтся, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π°. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Π±Π°Π·Π΅, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π΅ Π΄Π°Π² Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ DELETE, ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈ Π² процСссС вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. БСзопаснСС всСго ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ слуТбу ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° "ВСстированиС ΠΈ исправлСниС" зависаСт?

ЗависаниС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ со стороны Π‘Π£Π‘Π”. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ исправлСниС Π² монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅. Если это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, потрСбуСтся Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΎΠ² SQL Server Profiler для выявлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ исправлСниС Ρ‡Π΅Ρ€Π΅Π· SQL.

ВлияСт Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡƒΠ±Π»Π΅ΠΉ Π½Π° историчСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²?

Π”Π°, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ. Если Π²Ρ‹ удаляСтС Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽΡΡ запись справочника, всС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ UID, ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π΄ΡƒΠ±Π»Π΅ΠΉ являСтся «истинным», ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊ Π½Π΅ΠΌΡƒ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

Как Π½Π°ΠΉΡ‚ΠΈ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° 1Π‘ ΠΏΠΎ физичСскому ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?

ЀизичСскиС ΠΈΠΌΠ΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ† часто Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Для сопоставлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ запрос ΠΊ систСмной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ _YearOffset (Π² старых вСрсиях) ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ выводят соотвСтствиС ΠΈΠΌΠ΅Π½ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ· структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅.

ЯвляСтся Π»ΠΈ ошибка Π΄ΡƒΠ±Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ вируса ΠΈΠ»ΠΈ Π²Π·Π»ΠΎΠΌΠ°?

Π‘Π°ΠΌΠΈ ΠΏΠΎ сСбС Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ Π² индСксах 1Π‘ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ слСдствиСм вирусной активности ΠΈΠ»ΠΈ Π²Π·Π»ΠΎΠΌΠ°. Π­Ρ‚ΠΎ тСхничСская ошибка цСлостности Π΄Π°Π½Π½Ρ‹Ρ…. Однако, Ссли Π΄ΡƒΠ±Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ массово ΠΈ рСгулярно Π±Π΅Π· Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… сбоСв, стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ доступа Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ нСсанкционированных дСйствий со стороны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с высокими привилСгиями.