У мене є тривала операція (називається, скажімо, T1), яка виконує деякі видалення, оновлення та вставки в таблицю в SQL Server 2008 R2. У той же час, інший процес періодично запускає вибрані оператори з цієї таблиці.
У налаштуваннях ізоляції за замовчуванням (ЧИТАЙТЕ ЗНАЧЕНО, я думаю?) T1 блокує виконання будь-яких операцій вибору, поки транзакція не здійсниться або не буде відмовлена назад.
Що я хотів би побачити - це те, щоб вибрані оператори функціонували на послідовних даних навіть під час трансакції. Я вважаю, що ізоляція SNAPSHOT може допомогти, але я не впевнений, чи рухаюся я в правильному напрямку. Це був би найкращий рівень ізоляції для цієї програми?
По-друге, я не маю ніякого контролю над процесом, який викликає оператори select, але я маю контроль над .NET додатком, який викликає T1. Чи потрібні будь-які зміни рівня ізоляції як для операторів вибору, так і для T1, чи достатньо буде позначити просто T1 як інший рівень ізоляції?