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

НаличиС Ρ‚Π°ΠΊΠΈΡ… ссылок часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ критичСским сбоям: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π·Π°Π²ΠΈΡΠ°ΡŽΡ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. БистСма Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСния Π²ΠΈΠ΄Π°"Бсылка Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°" ΠΈΠ»ΠΈ"ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ссылочной цСлостности". Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ диагностику, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ встроСнный язык запросов ΠΈ возмоТности БистСмы Компоновки Π”Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”).

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… ссылок с использованиСм запросов. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ запрос для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… справочников, ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ссылок ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивны для очистки Π±Π°Π·Ρ‹ ΠΎΡ‚"мусора".

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° возникновСния ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… ссылок

ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° появлСния Π±ΠΈΡ‚Ρ‹Ρ… ссылок критичСски Π²Π°ΠΆΠ½ΠΎ для прСдотвращСния ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ возникновСния. Π’ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ 1Π‘ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылками-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ (Ref), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ запись Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если запись удаляСтся (физичСски ΠΈΠ»ΠΈ логичСски), Π° ссылка Π½Π° Π½Π΅Π΅ остаСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ рассинхронизация.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ записСй Ρ‡Π΅Ρ€Π΅Π· SQL-запросы ΠΊ сСрвСру Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (MS SQL, PostgreSQL) Π±Π΅Π· использования ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ массового появлСния Π±ΠΈΡ‚Ρ‹Ρ… ссылок. РСкомСндуСтся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… дСйствий.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ запрос для поиска ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ссылок. Π’ 1Π‘ сущСствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚ΠΈΠΏΠ΅ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ ссылки. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ сущСствуСт, функция Π•Π‘Π’Π¬ Π²Π΅Ρ€Π½Π΅Ρ‚ лоТь. Однако Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй Ρ‡Π΅Ρ€Π΅Π· соСдинСниС.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² справочникС"НомСнклатура", Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ ссылки Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅"РСализацияВоваровУслуг". ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π»Π΅Π²ΠΎΠ΅ соСдинСниС (Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π•), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ строки, Π³Π΄Π΅ правая Ρ‚Π°Π±Π»ΠΈΡ†Π° (справочник) пуста.

ВЫБРАВЬ

РСализацияВоваровУслуг.Бсылка КАК Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚,

РСализацияВоваровУслуг.НомСнклатура КАК БитаяБсылка

Π˜Π—

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг КАК РСализацияВоваровУслуг

Π›Π•Π’ΠžΠ• Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

ПО РСализацияВоваровУслуг.НомСнклатура = НомСнклатура.Бсылка

Π“Π”Π•

НомСнклатура.Бсылка Π•Π‘Π’Π¬ NULL

И НЕ РСализацияВоваровУслуг.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ

Π”Π°Π½Π½Ρ‹ΠΉ скрипт Π²Π΅Ρ€Π½Π΅Ρ‚ список Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅"НомСнклатура" содСрТит ссылку Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт. УсловиС Π•Π‘Π’Π¬ NULL являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ: ΠΎΠ½ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ строки, Π³Π΄Π΅ соСдинСниС Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² справочникС. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ запрос Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ справочников.

πŸ’‘

Для ускорСния выполнСния запроса Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ условиС ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ Π°Π½Π°Π»ΠΈΠ· ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя.

ИспользованиС Π‘ΠšΠ” для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ диагностики

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, БистСма Компоновки Π”Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”) прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ возмоТности. Π’ конструкторС запросов ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠΎΠ»Π΅ΠΉ Ρ‚ΠΈΠΏΠ°"Бсылка" ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡ… валидности. Π­Ρ‚ΠΎ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π° Ρ†Π΅Π»Ρ‹ΠΉ срСз Π΄Π°Π½Π½Ρ‹Ρ….

Π’ настройках схСмы ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ вычисляСмоС ΠΏΠΎΠ»Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π•Π‘Π’Π¬ ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ обращСния ΠΊ свойству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка выполнСния, это явный ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΠΈΡ‚ΠΎΠΉ ссылки. Однако Π±ΠΎΠ»Π΅Π΅ элСгантно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ с условным ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ.

НастройтС условиС оформлСния: Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ссылки Ρ€Π°Π²Π½ΠΎ NULL (послС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ соСдинСния), подсвСтитС строку красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π±Π΅Π· написания слоТного ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π°ΡƒΠ΄ΠΈΡ‚Π° руководству ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ"ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ запросов" для быстрого построСния соСдинСний ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.
  • πŸ“Š ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π‘ΠšΠ”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π±Π°Π·Ρ‹ концСнтрация ошибок наибольшая.
  • πŸ› οΈ БохраняйтС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΊΠ°ΠΊ внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π°Π·Π°Ρ….

Для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ это ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, Π½ΠΎ для массовой очистки Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Анализ Ρ‚Π°Π±Π»ΠΈΡ† хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ рСгистров

Π‘Π»ΠΎΠΆΠ½Π΅Π΅ всСго ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹Π΅ ссылки Π² рСгистрах свСдСний, накоплСния ΠΈ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ этих структурах Π΄Π°Π½Π½Ρ‹Π΅ часто хранятся Π² ΠΎΠ±Π΅Π·Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΈ Ρ‚ΠΈΠΏ ссылки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ динамичСским. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ систСмная Ρ‚Π°Π±Π»ΠΈΡ†Π° Бсылки ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ с Ρ‚ΠΈΠΏΠΎΠΌ Π₯ранилищСЗначСния.

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

Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Π°Π±Π»ΠΈΡ†Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Риск ошибки
Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.[Имя] Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹-ссылки Высокий (Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅)
Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.[Имя] Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, Π’Π»Π°Π΄Π΅Π»Π΅Ρ† Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅)
РСгистр накоплСния РСгистрНакоплСния.[Имя] Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ (остатки)
Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π’Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Колонки Ρ‚ΠΈΠΏΠ° Бсылка Высокий (ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌ)

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ частям Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Часто битая ссылка прячСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅"Π‘Ρ‚Π°Ρ‚ΡŒΡ Π·Π°Ρ‚Ρ€Π°Ρ‚" ΠΈΠ»ΠΈ"Π‘Ρ‡Π΅Ρ‚ ΡƒΡ‡Π΅Ρ‚Π°". ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° этих ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° всСх Π²ΠΈΠ΄ΠΎΠ² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рСсурсоСмко.

πŸ“Š Π“Π΄Π΅ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π±ΠΈΡ‚Ρ‹Π΅ ссылки?
Π’ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
Π’ рСгистрах накоплСния
Π’ справочниках Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹
Π’ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

Автоматизация поиска Ρ‡Π΅Ρ€Π΅Π· внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Для рСгулярного ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π° языкС 1Π‘. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ администратором. Вакая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ основным ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Π΅ запросы.

Π’ ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ—Π°ΠΏΡ€ΠΎΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ—Π°ΠΏΡ€ΠΎΡΠΎΠ² ΠΈΠ»ΠΈ прямой Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Запрос. Для динамичСского формирования тСкста запроса ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, получая список всСх справочников ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ВСкстЗапроса ="ВЫБРАВЬ Бсылка Π˜Π— Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура Π“Π”Π• Бсылка = &ΠŸΠ°Ρ€Π°ΠΌ";

Запрос = Новый Запрос(ВСкстЗапроса);

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠŸΠ°Ρ€Π°ΠΌ", БитаяБсылка);

Если Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.ΠŸΡƒΡΡ‚ΠΎΠΉ Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("НайдСна битая ссылка:" + БитаяБсылка);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ИспользованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π½ΠΎ ΠΈ сразу ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ лСчСния: ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠ° Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π·Π°ΠΌΠ΅Π½Π° ссылки Π½Π° Π·Π°Π³Π»ΡƒΡˆΠΊΡƒ ΠΈΠ»ΠΈ очистка поля. Однако Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС создания Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€Π΅Π΄ запуском Π»ΡŽΠ±Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΏΠΎ автоматичСскому ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ссылок ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сдСлайтС ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ„Π°ΠΉΠ».dt ΠΈΠ»ΠΈ бэкап SQL). НСкоррСктноС исправлСниС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ историчСских Π΄Π°Π½Π½Ρ‹Ρ….

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ устранСния ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠΈ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ Π·ΠΎΠ½Ρ‹ выявлСны, встаСт вопрос ΠΎΠ± ΠΈΡ… устранСнии. Π‘Π°ΠΌΡ‹ΠΉ бСзопасный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” Ρ€ΡƒΡ‡Π½ΠΎΠ΅ исправлСниС Ρ‡Π΅Ρ€Π΅Π· интСрфСйс 1Π‘. Найдя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с ошибкой, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΈΡ‚ΡƒΡŽ ссылку Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅, Ссли это допустимо Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Если количСство ошибок Π²Π΅Π»ΠΈΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ"Π“Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²", входящСй Π² стандартный ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки 1Π‘ (ИВБ). Она позволяСт Π½Π°ΠΉΡ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ) ΠΈ массово ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ…. Однако для поиска ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ссылок эту ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· консоль запросов.

Для ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… послС сСансов ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ Π½ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ссли ΠΎΠ½ΠΈ связаны с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ссылка битая Π² историчСском Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅?

Если Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ для рСдактирования (ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π΅), исправлСниС ссылки ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ пСрСпровСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях бСзопаснСС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Ρ‡Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ.

πŸ’‘

РСгулярный Π°ΡƒΠ΄ΠΈΡ‚ ссылочной цСлостности с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запросов β€” Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… сбоСв Π² Ρ€Π°Π±ΠΎΡ‚Π΅ 1Π‘ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅.

Π§Π΅Π³ΠΎ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ диагностикС

Π’ ΠΏΠΎΠ³ΠΎΠ½Π΅ Π·Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спСциалисты ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡΡƒΠ³ΡƒΠ±Π»ΡΡŽΡ‚ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. Главная ошибка β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°"ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ" Π±Π°Π·Ρƒ, просто удаляя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ ссылки. Π­Ρ‚ΠΎ создаСт Ρ†Π΅ΠΏΠ½ΡƒΡŽ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ: ΡƒΠ΄Π°Π»ΠΈΠ² ΠΎΠ΄ΠΈΠ½ справочник, Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π±ΠΈΡ‚Ρ‹ΠΌΠΈ ссылки Π½Π° Π½Π΅Π³ΠΎ Π² дСсятках Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

НС рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сторонниС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для"лСчСния" Π±Π°Π·Ρ‹, Π½Π΅ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ„ΠΈΡ€ΠΌΡ‹ 1Π‘. Они ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ слуТСбныС поля Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ индСксы, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ систСмы Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ДовСряйтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ срСдствам ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

  • ❌ НС удаляйтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· SQL Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· понимания связСй.
  • ❌ НС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ прСдупрСТдСния систСмы ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
  • βœ… ВсСгда тСстируйтС исправлСния Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π½Π° основной.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ битая ссылка β€” это симптом. Часто Π·Π° Π½ΠΈΠΌ скрываСтся Π±ΠΎΠ»Π΅Π΅ глубокая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ошибка Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, сбой оборудования ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ дСйствия пСрсонала. УстранСниС слСдствия Π±Π΅Π· поиска ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡŽ ситуации.

МоТно Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΈΡ‚Ρ‹Π΅ ссылки Π±Π΅Π· ΠΏΡ€Π°Π² администратора?

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для глобального поиска ΠΏΠΎ всСй Π±Π°Π·Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΏΡ€Π°Π²Π° Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ рСгистров, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Ρ€ΠΎΠ»ΠΈ"Администратор" ΠΈΠ»ΠΈ"ΠŸΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°".

Π’Π»ΠΈΡΡŽΡ‚ Π»ΠΈ Π±ΠΈΡ‚Ρ‹Π΅ ссылки Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹?

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

Как Π½Π°ΠΉΡ‚ΠΈ Π±ΠΈΡ‚ΡƒΡŽ ссылку Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Ссли ΠΎΠ½ Π½Π΅ открываСтся?

Если Ρ„ΠΎΡ€ΠΌΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ открываСтся ΠΈΠ·-Π·Π° ошибки ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ консоль запросов. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запрос ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ (UUID), выбирая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сбой ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ бэкап ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ запросами?

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ SELECT (Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°) Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· запросы бСзопасна ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ бэкапа, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Бэкап обязатСлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этапС исправлСния (UPDATE, DELETE) Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.