====== RCSI - спосіб зменшити блокування в 1С ====== RCSI — це режим роботи SQL Server при якому читання ніколи не блокує запис, а запис ніколи не блокує читання. Проблема без RCSI (як у вас зараз) Користувач А — читає довідник (SELECT) Користувач Б — змінює той самий довідник (UPDATE) Результат: один чекає іншого → БЛОКУВАННЯ Саме через це сесія 58 з простим SELECT на 13 рядків змогла заблокувати ALTER INDEX і через нього — 27 сесій користувачів. Як працює RCSI Замість блокування SQL Server зберігає знімок (snapshot) попередньої версії даних у базі tempdb. Читач отримує знімок — актуальний на момент початку запиту — і не чекає того хто пише. Користувач А — читає знімок даних (не блокує нікого) Користувач Б — змінює дані (не чекає читача) Результат: обидва працюють одночасно ✅ Як увімкнути: -- Перевірити поточний стан SELECT name, is_read_committed_snapshot_on FROM sys.databases WHERE name = 'ViatecUT' -- Увімкнути RCSI -- Потрібно щоб не було активних з'єднань з базою! ALTER DATABASE ViatecUT SET READ_COMMITTED_SNAPSHOT ON Що потрібно для tempdb RCSI використовує tempdb для зберігання версій рядків. Для вашого сервера рекомендується: -- Перевірити розмір tempdb SELECT name, size*8/1024 AS розмір_МБ FROM tempdb.sys.database_files RCSI — це найефективніший спосіб зменшити блокування в 1С. Більшість великих інсталяцій 1С працюють саме з увімкненим RCSI