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    33270    107    152    

73

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

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

3600 руб.

10.02.2017    110958    666    174    

705

Корректировка данных Программист Пользователь Платформа 1С v8.3 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.2 от 09.06.2024!

19200 руб.

26.08.2018    52371    16    61    

55

Корректировка данных Зарплата Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

28800 руб.

06.10.2023    4216    35    18    

44

Корректировка данных Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет УСН Платные (руб)

Расширение предназначено для корректировки записей в книге доходов и расходов. Пока только для документов: Поступление на расчетный счет, Списание с расчетного счета, Поступление наличных (в народе ПКО) и Выдача наличных (РКО).

2400 руб.

19.11.2019    18813    35    24    

11

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

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

2400 руб.

13.07.2015    51182    173    29    

125

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

Обработка предназначена для корректировки входящего НДС при смене системы налогообложения индивидуального предпринимателя с УСН на ОСНО в 1С:Бухгалтерия предприятия 3.0

4000 руб.

18.07.2024    782    2    2    

2

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

Внешняя обработка предназначена для исправления самых различных ошибок, возникших по самым разным причинам. Общее проявление этих ошибок видно в различии данных между: проводками и различными отчетами по НДФЛ, заполнении ведомостей на выдачу зарплаты, неверным расчетом НДФЛ при начислении ЗП и т.д.

18000 руб.

09.02.2024    1786    12    6    

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


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

ну собственно говоря написал заметку "по горячим следам", в результате мы улучшили наш сервис и теперь он обнаруживает подобные ситуации
dlysychenko; +1 Ответить
15. nvv1970 11.10.17 22:01 Сейчас в теме
(3) Коль вы связываете ошибку с проблемами диска, то опишите
- как часто такая ошибка регистрируется? Единичная, повторяющаяся?
- возможно ли определить таблицу, на которой возникла ошибка. Если да, то какой ее размер?
- как изменилась производительность дисков?
- какие ещё сопутствующие симптомы можно выделить?
Поделитесь наблюдениями)
4. hogik 443 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 1917 07.11.13 23:19 Сейчас в теме
(4) hogik, я воспринял текст немного по другому:
NOLOCK = уровень изоляции транзакции READ UNCOMMITTED
если оценивать по конечному эффекту
7. hogik 443 07.11.13 23:25 Сейчас в теме
(5)
Вячеслав (Gilev.Vyacheslav).
Не буду спорить. Но, данная ошибка в MS SQL - это "нормальное поведение системы" при данных условиях (как я их понял). Надо повторить запрос за платформу. И всё... ;-)
Но допускаю, что повторить запрос не всегда возможно из среды 1С-а на уровне прикладного программиста. Тогда - проблема. :-(
Gilev.Vyacheslav; +1 Ответить
8. Gilev.Vyacheslav 1917 07.11.13 23:28 Сейчас в теме
6. Gilev.Vyacheslav 1917 07.11.13 23:21 Сейчас в теме
(4) hogik,
А подсказки NOLOCK установлены в 1С-платформе (как я понимаю) для всех запросов "на чтение вне транзакции".
есть мнение, что не всегда
но если честно, я то хотел показать другую мысль: не только дело в чтении грязных данных, но и в порче дисков и т.п.
9. hogik 443 07.11.13 23:36 Сейчас в теме
(6)
"... хотел показать другую мысль: не только ... , но и в порче дисков и т.п. "(с)
Вячеслав (Gilev.Vyacheslav).
Таких "логичных" сбоев не бывает по причине "порчи".
Ну, если только в сервере память стоит без ЕСС. :-) (Шутка по прошлым нашим с Вами темам).
10. Gilev.Vyacheslav 1917 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. Артано 795 24.07.17 12:55 Сейчас в теме
Было такое недавно. Рэйд умер совсем
13. Xershi 1556 11.10.17 21:30 Сейчас в теме
Не смог обновить конфигурацию. Закончилось место на диске.
Попросил освободить.
Освободили, а я из конфигуратора не выходил!
Выдало: Could not continue scan with NOLOCK due to data movement.
Закрыл конфигуратор, открыл и проблем не было!
14. nvv1970 11.10.17 21:54 Сейчас в теме
Ошибка как ошибка... Данные сканируются и вдруг на пол пути оказались удаленными - начинай сначала.
В бсп догадались сделать запрос в цикле, пока запрос не выполнится без этой ошибки. Т.е. очевидно такая ошибка более вероятна при более длинных сканах. Цикл - худший вариант. Почему не поставили шаред-блокировку, раз выполнение критично - остаётся догадываться.
Ошибка, как симптом проблем с рэйдом? Хммм... Что же это за рэйд такой? Нулевой? Безопасный должен деградировать по производительности, но результат выдавать.

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