27.02.2002, 13:36 | #1 |
Участник
|
Could not continue scan with NOLOCK due to data movement.
Вот возникает ошибка такая в SQL Servere при больших количествах записей в таблице.
у меня возникла после попытки сделать обновление перекрестных ссылок. все срубилось, когда количество записей в таблице стало около 600 тысяч. может кто подскажет что это? места на диске хватает. текст ошибки: Невозможно выбрать запись в таблице 'Существ. счет клиента' ('xRefNames') База данных SQL обнаружила ошибку. [Microsoft][ODBC SQL Server Driver][SQL Server]Could not continue scan with NOLOCK due to data movement. SELECT COUNT(A.RECID) FROM XREFNAMES A(NOLOCK) OPTION(FAST 2) вот вообщем все... |
|
27.02.2002, 15:07 | #2 |
Участник
|
Дело в том, что во время генерации перекрестных ссылок
активно используются контейнеры. Кроме того, активно используются временные таблицы. И контейнеры, и временные таблицы располагаются в свопе и во временном каталоге локальной машины. Скорее всего у тебя своп ограничен сверху. Или места для временных файлов не хватает. А ошибка про xRef скорее всего наведенная. |
|
27.02.2002, 17:54 | #3 |
Участник
|
Ну я посмотрел кешируется ли ZipTable и эти XrefReference таблицы и нигде не нашел упоминания об этом.
похоже что они не кешируются. похоже все же другая проблема, а на компах стоит 1.7 Гб файл подкачки, думаю этого хватает, потому как при просмотре сколько занято памяти показывается что то в районе 700 мегов. может все же это глюк? может SQL Server глючит, потому что я даже в SQL Analyzere не могу выполнить этот запрос, вернее он выполняется но раз на раз не приходится.... |
|
27.02.2002, 20:24 | #4 |
Участник
|
мда. при таком размере файла подкачки - это вряд ли своп
|
|
27.02.2002, 20:54 | #5 |
Участник
|
вот что говорит MSDN:
When scanning with the NOLOCK locking hint or with the transaction isolation level set to READ UNCOMMITTED, it is possible for the page at the current position of the scan to be deleted. When this happens, Microsoft® SQL Server™ is not able to continue the scan. Очень странно. ddadream, Oks, можно я еще вас спрошу: 1. А у вас параллельно с вами в сети никто в Аксапте не работает? 2. В какой компании ведется работа? в DAT'е? 3. Какая версия exe-шника Аксапты? От какого сервис-пака? 4. Какая версия SQL? 5. Версия ODBC? 6. После какого действия начали появляться такие ошибки или они всегда были? Даже интересно стало. Дело в том, что у меня никогда (ни в старых, ни в новых версиях) такого не было. Но я еще не поставил HF1. И еще один вопрос: 7. У вас установлено ограничение на размер базы MS SQL? База и индексы могут расти неограничего? |
|
26.09.2003, 12:32 | #6 |
Участник
|
та же ошибка
Та же ошибка появляется - при любой операции.
Как же всё-таки с ней бороться, и в чём причина? |
|
15.11.2003, 11:10 | #7 |
Участник
|
В общем, если перед выполнением запроса у курсора устанавливается selectLocked(false), то таблица не блокируется для выборки. Если на пути работы выборки вдруг удаляется строка, то запрос обрывается.
Либо не вызывать NOLOCK, либо что-то думать ... Место и т.п. тут не при чём, по идее. Это SQL Server. |
|
17.11.2003, 11:36 | #8 |
Участник
|
У меня причина оказалась в ошибках базы данных на SQL Server'е - checkdb показал кучу ошибок, после repair'а базы эта ошибка исчезла.
|
|
Теги |
sql server, ошибка |
|
|