Блокировка диапазона SQL Server не снята

У меня следующая ситуация:

Таблица A содержит некоторую информацию, таблица B содержит ее детали. B имеет внешний ключ для A и настроен на каскад.

Теперь я делаю вставку в A с "data1" и двумя строками для деталей.

Затем я удаляю data1 из A и отслеживаю события Lock.Acquired и Lock:Released в профилировщике. Я делаю это с помощью "READ COMMITTED SNAPSHOT". После удаления я делаю откат.

Что теперь происходит: я получаю кучу замков, и все кажется нормальным, но одна вещь странная. Как вы можете видеть на рисунке, есть блокировка RangeS-U, которая никогда не снимается. Блокировка выполняется для некластеризованного индекса таблицы сведений.

Как может случиться, что блокировка никогда не снимается?

0 ответов

Другие вопросы по тегам