Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
Господа, может кто встречался с подобным. Есть серьезная проблема. Сервер: Compaq PL 8500, 1GB RAM, 2 процессора, Windows NT 4 Enterprize Edition, SQL Server 7.0 Enterprize Edition, без сервис паков. Операция - выполнение команды: BULK INSERT PD_PROHODI FROM 'd:\ASKOPM\turnfiles\Ifiles\I7050000.2X' WITH ( CODEPAGE = 'RAW' ,DATAFILETYPE = 'native' ,FORMATFILE = 'd:\ASKOPM\turnfiles\format\PD_PROHODI.fmt' ,TABLOCK ) Выполняется примерно 1000-5000 раз, с момента перезагрузки сервера. Причем в одной транзакции не более после 200 раз. Размеры загружаемых файлов - от 100 байт до 2000 байт. маленькие в общем. Так вот после выполнения указанного числа загрузок выдается сообщение об ошибке Microsoft SQL Server:701[Microsoft][ODBC SQL Server Driver][SQL Server]There is insufficient system memory to run this query. Причем загружаемый фал остается заблокированным до перезапуска сервера!!! Завершение приложения не помогает разблокировать файл! Возможно дело - в настройках памяти, для SQL server отведело 900 MB RAM. Неужели недостаточно? В Books Online - чушь типа добавьте память в сервер. Может нужно установить Service Pack? Буду признателен за любой совет! Павел Аблицов pva@mailru.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2001, 06:56 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
Да, забыл сказать, что та же операция с использованием BCP.EXE проходит нормально, даже после возникновения описанной ошибки, но проблема в том, что это значительно медленее, всего 2-3 файла в секунду! Павел Аблицов pva@mailru.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2001, 07:03 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
Может быть у вас под журнал места не хватает. Точно не уверен, но давно еще когда на 6.5 работали он тоже кажется на память ругался, когда размер журнала не позволял дальше работать. На это меня натолкнуло, что у вас в одной транзакции не больше 200 раз исполняется, а так значительно больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2001, 08:22 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
У меня в BULK INSERT установлена опция TABLOCK, которая должна предотвращать запись в журнал транзакций. Кроме того, для данной БД установлены опции auto grow. И на диске свободно больше 10GB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2001, 10:10 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
Возможно, у Вас переполняется журнал истории заданий. Вся информация об этапах выполнения заданий регистрируется службой SQLServerAgent в специальном журнале, который хранится в таблице msdb..sysjobhistory. Существует ограничение на глубину истории выполнения заданий, которое можно установить, воспользовавшись ЕМ. Журнал содержит информацию о времени исполнения этапа задания, его успешности выполнения, операторах оповещения, длительности исполнения и сообщениях об ошибках. Установки по умолчанию не подразумевают, что вы будете хранить историю по каждому заданию. Поэтому, для хранения информации о каждом задании, следует увеличить максимальны размер строки в таблице msdb..sysjobhistory, с таким расчётом, что при исчерпании этого размера, запись начнётся поверх старого содержимого истории задания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2001, 20:40 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
Могу предложить другой вариант. С полгода назад я обращался на другой форум с тем же вопросом. То, что мне предложили, мне не помогло... Насколько я знаю это один из глюков Microsoft. И он ликвидируется одним из паков. У меня тогда стоял SP2. Третий я не искал, потому, как проблему нужно было решать срочно. На этот сервер то же выполнялась команда bcp. Но сбой чаще всего происходил на любой из задач. И сервак работал, но через непредсказуемый момент времени выдавал: JOB RUN: 'CLEAN Alarm1' was run on 10/27/2000 at 11:10:01 AM DURATION: 0 hours, 0 minutes, 1 seconds STATUS: Failed MESSAGES: The job failed. Unable to determine if the owner (BLUFFY\DC_DP2_SQL) of job CLEAN Alarm1 has server access (reason: There is insufficient system memory to run this query. [SQLSTATE 42000] (Error 701)). BLUFFY\DC_DP2_SQL имел роль системного администратора, и в DomainAdmin этого компа был как Administrator NT. Сам SQL ставился под этим акаунтом и обе службы запускались также стартовали под этим же акаунтом. Самое прикольное, что после перезапуска сервак опять работал, 2-3 дня потом опять. Бывало неделю поработает, а ночью вызов, машина под окном и опять на работу. Я тогда тока одно понял, что динамическая память в SQL7.0 такое дерьмо. Извините, что другого слова не нашел. В общем отвел серверу фиксированную область памяти(как в 6.5) и после этого проблема была решена. Извините, что дальше не смогу дискусию продолжить, так как я ухожу в отпуск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 06:13 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
На счёт динамического рапределения памяти для MS SQL Server - полностью согласен, это плохая практика. Я думаю, это сделали для удобства работы в настольном варианте. Неоднократон в этом (да и других) форуме звучали жалобы на этот режим. Ну не умеют ни NT ни SQL нормально высвобождать память... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2001, 10:26 |
|
||
|
insufficient system memory при BULK INSERT
|
|||
|---|---|---|---|
|
#18+
1. Таблица msdb..sysjobhistory - у меня пуста (ну кроме maintenance задач). Я не использую планировщик SQL Server Agent для запуска моей задачи. Эту роль играет внешнее приложение, которое по таймеру выполняет закачку полученных файлов. 2. Посрараюсь поставить SP3 и поставить фиксированный размер памяти для SQL Server. Это большая проблема, однако перезапустить сервер.))))) Спасибо всем, а то головная боль большая )))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2001, 07:53 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1824455]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
90ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 475ms |

| 0 / 0 |
