601: Не удалось продолжить сканирование с NOLOCK из-за перемещения данных
SQL ServerЧто это значит?
Во время сканирования с NOLOCK (READ UNCOMMITTED) сканирование не смогло продолжиться из-за параллельного перемещения данных (разделения/перемещения страниц). Чтение без блокировок наткнулось на несогласованное состояние.
Почему возникает?
Сканируемые страницы перемещаются параллельными обновлениями/удалениями/разделениями страниц при чтении с подсказкой NOLOCK или на уровне изоляции READ UNCOMMITTED.
Как исправить
Повторите запрос (обычно ошибка временная). По возможности избегайте подсказки NOLOCK; для неблокирующего, но согласованного чтения используйте изоляцию READ COMMITTED SNAPSHOT (RCSI). На таблицах с интенсивной записью предпочитайте snapshot isolation грязному чтению.
Ещё по этой СУБД
- 8623Обработчику запросов не хватило внутренних ресурсов, и он не смог построить план запроса
- 4104Не удалось связать многочастный идентификатор
- 2714В базе данных уже есть объект с таким именем
- 50000Пользовательская ошибка, вызванная через RAISERROR
- 3902Для запроса COMMIT TRANSACTION нет соответствующего BEGIN TRANSACTION
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3729Cannot DROP because it is being referenced by object