Я думаю, що це добре за деяких обставин, якщо ви приймаєте наслідки і не маєте інших варіантів.
Для інших варіантів я б підштовхнув людей до використання зчитуваної передачі знімків знімків (RCSI) для нових програм або SNAPSHOT ISOLATION (SI) для старих додатків, де ви не можете легко протестувати всю базу коду на гоночні умови з RCSI.
Однак це може бути не дуже підходящим. Можливо, вам доведеться витратити трохи зайвого часу, люблячись і піклуючись про tempdb, і переконуючись, що ніхто не залишає відкритої транзакції, завдяки якій зберігання версій (і tempdb) зростає та заповнює диск.
Якщо у вас немає DBA або когось, завдання якого - контролювати та керувати вашим SQL сервером, ці параметри можуть бути небезпечними. Загалом, не всі мають повний контроль над кодом, що надходить на їх сервер, де вони можуть змінити рядок з'єднання або код, щоб попросити SI для проблемних запитів.
Крім того, більшість людей не мають проблем із блокуванням у всьому своєму застосуванні . У них є проблеми з такими речами, як звітування про дані OLTP. Якщо ви можете прийняти компроміси NOLOCK / RU в обмін на ті звіти, які письменники не блокують, перейдіть на це.
Просто переконайтеся, що ви розумієте, що це означає. Це не означає, що ваш запит не приймає жодних блокувань, це означає, що він не поважає блокування, виведені іншими запитами.
І звичайно, якщо ваша проблема полягає в блокуванні сценариста / письменника, єдиний варіант, який допоможе, - це SI, але для належного втілення цього завдання при роботі з помилками потрібна неймовірна кількість розробників.