Could not continue scan with NOLOCK due to data movement в 1С:Предприятие

07.11.13

Задачи пользователя - Корректировка данных

Скорее всего с этой ошибкой вы не сталкиваетесь, но если что, то будьте "вооружены" этой заметкой...

Что говорит производитель MS SQL Server:

http://msdn.microsoft.com/ru-ru/library/bb326281.aspx
SQL Server Database Engine не удается продолжить выполнение запроса, поскольку приложение пытается считать данные, обновленные или удаленные другой транзакцией. Очередь использует подсказку блокировки NOLOCK или
уровень изоляции транзакции READ UNCOMMITTED.
Как правило, доступ к данным, которые изменяются другой операцией, запрещен из-за наложенной на них блокировки.
Однако подсказка блокировки NOLOCK и уровень изоляции транзакции READ UNCOMMITTED позволили запросу считать данные, заблокированные другой транзакцией. Это называется «грязным» чтением, поскольку таким образом можно считать значения, которые еще не были зафиксированы и могут быть изменены.
Эта ошибка отменяет запрос. Отправьте запрос повторно или удалите подсказку блокировки NOLOCK.

Есть небольшая вероятность того, что дело в конфигурации.

Пример на скриншоте.

Но здесь есть ключевое НО: Обратите внимание, что речь идет о конфликте блокировок и запрос на чтение вне тразнакции.

Если конфигурация в автоматическом режиме блокировок, то платформа использует другой уровень изоляции, который не может привести к такой ситуации. 

В ОСТАЛЬНЫХ СЛУЧАЯХ, применительно к 1С:Предприятие скорее дело не в этом.

Проблемы с диском!!! Ошибка появляется при разрушении данных.

Проверьте БД  с помощью DBCC CHECKDB. Обязательно сделайте резервную копию!

Попытайтесь с помощью все той же DBCC CHECKDB восстановить данные (если жесткий диск "не умирает").

ALTER DATABASE [Ваша база] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

DBCC CHECKDB ([Ваша база],REPAIR_ALLOW_DATA_LOSS)
GO

ALTER DATABASE [Ваша база]SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO

Если повреждения несерьезные, то все будет хорошо. Если нет, то используйте бэкапы.

 

Или это ошибка платформы

Такое уже было раньше

http://downloads.v8.1c.ru/content/Comm/Platform/Err_8_2_9_356.htm

10036291  Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Could not continue scan with NOLOCK due to data movement.

Проблема:
В клиент-серверном варианте информационной базы с использованием MS SQL Server при возникновении ошибки

Ошибка СУБД:
Microsoft OLE DB Provider for SQL Server: Could not continue scan with NOLOCK due to data movement.
HRESULT=80040E14, SQLSrvr: Error state=3, Severity=C, native=601, line=1

происходит аварийное завершение работы программы.
Дата публикации: 2009-11-16

На момент написания статьи такой ошибки не было зарегистрировано, но это не 100% гарантия.

Вступайте в нашу телеграмм-группу Инфостарт

методы устранения ошибок в

См. также

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    40740    123    152    

84

Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Представьте, что есть система QR - кодирования, которая НЕ ТРЕБУЕТ изменения конфигурации, НЕ ТРЕБУЕТ изменения ни одной печатной формы для добавления QR-кода, включая внешние, НЕ ХРАНИТ данные штрихкодов и их связь, от чего база не "пухнет", ИМЕЕТ возможность закодировать в QR-коде произвольные данные параметров для последующей обработки полученных данных, УМЕЕТ прикреплять сканы, УМЕЕТ обработать считанный QR-код как ВЫ захотите. А также ХРАНИТ историю операций в обход базы для каждого пользователя в отдельности и УМЕЕТ работать с 2D - сканерами. А также автоматически распознавать отсканированные печатные формы (картинки или pdf-файлы) и выполнять заданные произвольные алгоритмы, в том числе прикрепление их к документам! Обновление 3.3 от 24.06.2025!

26400 руб.

26.08.2018    54625    18    65    

56

Корректировка данных Системный администратор Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    117428    703    176    

744

Закрытие периода Корректировка данных Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

5000 руб.

13.07.2015    53452    184    29    

136

Ценообразование, анализ цен Корректировка данных 1С:Предприятие 8 1С:Управление торговлей 11 Платные (руб)

Подключаемая внешняя обработка с простой настройкой - позволяет автоматически рассчитывать в документах продажи скидку процентом на каждый второй, третий и т.д. товар с наименьшей ценой из выбранного сегмента. Ничего лишнего для удобного использования!

5000 руб.

07.05.2025    1169    1    0    

2

Загрузка и выгрузка в Excel Корректировка данных Пользователь 1С:Предприятие 8 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Обработка для группового редактирования реквизитов номенклатуры в 1С для УТ 11 / КА 2. Позволяет редактировать реквизиты (как основные, так и дополнительные реквизиты и сведения) непосредственно в таблице, устанавливать новые значения реквизитов на выбранную номенклатуру, а также загружать новые значения из Excel. Предусмотрена возможность добавления фото к товарам перетаскиванием файла из проводника на строку с товаром (drag'n'drop)

4200 руб.

16.11.2020    18928    13    6    

12

Печатные формы Корректировка данных Учет документов 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 3.0

Данная обработка позволяет работать со справками об оплате медицинских услуг в любой конфигурации 1С 8.3 Решение выполнено в виде внешней обработки, поэтому будет работать так же на базовых версиях конфигураций 1С, где нет возможности добавить расширение.

3600 руб.

28.01.2025    1655    0    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. 3.14159 94 07.11.13 09:39 Сейчас в теме
если жесткий диск "не умерает"


p.s. Я збагоен :)
2. Gilev.Vyacheslav 1921 07.11.13 21:15 Сейчас в теме
3. Gilev.Vyacheslav 1921 07.11.13 21:53 Сейчас в теме

ну собственно говоря написал заметку "по горячим следам", в результате мы улучшили наш сервис и теперь он обнаруживает подобные ситуации
dlysychenko; +1 Ответить
15. nvv1970 11.10.17 22:01 Сейчас в теме
(3) Коль вы связываете ошибку с проблемами диска, то опишите
- как часто такая ошибка регистрируется? Единичная, повторяющаяся?
- возможно ли определить таблицу, на которой возникла ошибка. Если да, то какой ее размер?
- как изменилась производительность дисков?
- какие ещё сопутствующие симптомы можно выделить?
Поделитесь наблюдениями)
4. hogik 446 07.11.13 23:17 Сейчас в теме
(0)
Два предложения из описания ошибки от Microsoft:
1) "Очередь использует подсказку блокировки NOLOCK или уровень изоляции транзакции READ UNCOMMITTED."(с)
2) "Однако подсказка блокировки NOLOCK и уровень изоляции транзакции READ UNCOMMITTED позволили запросу считать данные, заблокированные другой транзакцией."(с)


Вячеслав (Gilev.Vyacheslav).
Думаю, в описании ошибки от Microsoft во втором предложении должно быть не "и", а "или". Как и в первом. Т.е. выполнение запроса вне транзакции с "подсказкой" NOLOCK может вызвать такую ошибку. И это не зависит от того, какой уровень изоляции у пишущей транзакции. Т.е. надо выполнить рекомендации от Microsoft: "Отправьте запрос повторно или удалите указание блокировки NOLOCK."(с) Платформа этого не делает - запрос не отправляет "необходимое" количество раз. А подсказки NOLOCK установлены в 1С-платформе (как я понимаю) для всех запросов "на чтение вне транзакции".
5. Gilev.Vyacheslav 1921 07.11.13 23:19 Сейчас в теме
(4) hogik, я воспринял текст немного по другому:
NOLOCK = уровень изоляции транзакции READ UNCOMMITTED
если оценивать по конечному эффекту
g0nnabe0k; +1 Ответить
7. hogik 446 07.11.13 23:25 Сейчас в теме
(5)
Вячеслав (Gilev.Vyacheslav).
Не буду спорить. Но, данная ошибка в MS SQL - это "нормальное поведение системы" при данных условиях (как я их понял). Надо повторить запрос за платформу. И всё... ;-)
Но допускаю, что повторить запрос не всегда возможно из среды 1С-а на уровне прикладного программиста. Тогда - проблема. :-(
Gilev.Vyacheslav; +1 Ответить
8. Gilev.Vyacheslav 1921 07.11.13 23:28 Сейчас в теме
6. Gilev.Vyacheslav 1921 07.11.13 23:21 Сейчас в теме
(4) hogik,
А подсказки NOLOCK установлены в 1С-платформе (как я понимаю) для всех запросов "на чтение вне транзакции".
есть мнение, что не всегда
но если честно, я то хотел показать другую мысль: не только дело в чтении грязных данных, но и в порче дисков и т.п.
9. hogik 446 07.11.13 23:36 Сейчас в теме
(6)
"... хотел показать другую мысль: не только ... , но и в порче дисков и т.п. "(с)
Вячеслав (Gilev.Vyacheslav).
Таких "логичных" сбоев не бывает по причине "порчи".
Ну, если только в сервере память стоит без ЕСС. :-) (Шутка по прошлым нашим с Вами темам).
10. Gilev.Vyacheslav 1921 07.11.13 23:54 Сейчас в теме
(9) hogik, да, и память без коррекции тоже может быть негативным фактором

11. Pavel_NT 21 24.07.17 12:30 Сейчас в теме
Используем 1С 8.2, обычные формы, режим блокировок автоматический.

Авторитетные знающие люди, подскажите, если в этой ошибке указанно ID 601 то зачем использовать "dbcc checkdb".

Формальная отписка на сайте MS гласит: "Эта ошибка отменяет запрос. Отправьте запрос повторно или удалите указание блокировки NOLOCK".

Конечно 1С не может повторно отправить запрос при этой ошибке (1С вылетает). Что бы выявить неправильный запрос (запросы) или выявить, что решение спроектировано неправильно, программисту нужно затратить кучу времени.

Вопрос: как убедить админа вывести базу из работы, провести проверку и если ошибок нет, передать работу программистам и поддержке 1C???
Прикрепленные файлы:
12. Артано 800 24.07.17 12:55 Сейчас в теме
Было такое недавно. Рэйд умер совсем
13. Xershi 1531 11.10.17 21:30 Сейчас в теме
Не смог обновить конфигурацию. Закончилось место на диске.
Попросил освободить.
Освободили, а я из конфигуратора не выходил!
Выдало: Could not continue scan with NOLOCK due to data movement.
Закрыл конфигуратор, открыл и проблем не было!
14. nvv1970 11.10.17 21:54 Сейчас в теме
Ошибка как ошибка... Данные сканируются и вдруг на пол пути оказались удаленными - начинай сначала.
В бсп догадались сделать запрос в цикле, пока запрос не выполнится без этой ошибки. Т.е. очевидно такая ошибка более вероятна при более длинных сканах. Цикл - худший вариант. Почему не поставили шаред-блокировку, раз выполнение критично - остаётся догадываться.
Ошибка, как симптом проблем с рэйдом? Хммм... Что же это за рэйд такой? Нулевой? Безопасный должен деградировать по производительности, но результат выдавать.

Ап: а ещё может быть "разрушение" индекса. "дерево сбросило листья"... Осень))
Для отправки сообщения требуется регистрация/авторизация