Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / insufficient system memory при BULK INSERT / 9 сообщений из 9, страница 1 из 1
12.07.2001, 06:56
    #32009404
insufficient system memory при BULK INSERT
Господа, может кто встречался с подобным. Есть серьезная проблема.
Сервер: 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
...
Рейтинг: 0 / 0
12.07.2001, 07:03
    #32009408
insufficient system memory при BULK INSERT
Да, забыл сказать, что та же операция с использованием BCP.EXE проходит нормально, даже после возникновения описанной ошибки, но проблема в том, что это значительно медленее, всего 2-3 файла в секунду!

Павел Аблицов
pva@mailru.com
...
Рейтинг: 0 / 0
12.07.2001, 08:22
    #32009422
BiSas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insufficient system memory при BULK INSERT
Может быть у вас под журнал места не хватает. Точно не уверен, но давно еще когда на 6.5 работали он тоже кажется на память ругался, когда размер журнала не позволял дальше работать. На это меня натолкнуло, что у вас в одной транзакции не больше 200 раз исполняется, а так значительно больше.
...
Рейтинг: 0 / 0
12.07.2001, 10:10
    #32009438
insufficient system memory при BULK INSERT
У меня в BULK INSERT установлена опция TABLOCK, которая должна предотвращать запись в журнал транзакций. Кроме того, для данной БД установлены опции auto grow. И на диске свободно больше 10GB.
...
Рейтинг: 0 / 0
12.07.2001, 20:40
    #32009487
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insufficient system memory при BULK INSERT
Возможно, у Вас переполняется журнал истории заданий. Вся информация об этапах выполнения заданий регистрируется службой SQLServerAgent в специальном журнале, который хранится в таблице msdb..sysjobhistory. Существует ограничение на глубину истории выполнения заданий, которое можно установить, воспользовавшись ЕМ. Журнал содержит информацию о времени исполнения этапа задания, его успешности выполнения, операторах оповещения, длительности исполнения и сообщениях об ошибках. Установки по умолчанию не подразумевают, что вы будете хранить историю по каждому заданию. Поэтому, для хранения информации о каждом задании, следует увеличить максимальны размер строки в таблице msdb..sysjobhistory, с таким расчётом, что при исчерпании этого размера, запись начнётся поверх старого содержимого истории задания.
...
Рейтинг: 0 / 0
13.07.2001, 06:13
    #32009500
Flint-San
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insufficient system memory при BULK INSERT
Могу предложить другой вариант. С полгода назад я обращался на другой форум с тем же вопросом. То, что мне предложили, мне не помогло...
Насколько я знаю это один из глюков 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) и после этого проблема была решена.
Извините, что дальше не смогу дискусию продолжить, так как я ухожу в отпуск.
...
Рейтинг: 0 / 0
13.07.2001, 10:26
    #32009524
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
insufficient system memory при BULK INSERT
На счёт динамического рапределения памяти для MS SQL Server - полностью согласен, это плохая практика. Я думаю, это сделали для удобства работы в настольном варианте.
Неоднократон в этом (да и других) форуме звучали жалобы на этот режим. Ну не умеют ни NT ни SQL нормально высвобождать память...
...
Рейтинг: 0 / 0
20.07.2001, 07:53
    #32009997
insufficient system memory при BULK INSERT
1. Таблица msdb..sysjobhistory - у меня пуста (ну кроме maintenance задач). Я не использую планировщик SQL Server Agent для запуска моей задачи. Эту роль играет внешнее приложение, которое по таймеру выполняет закачку полученных файлов.

2. Посрараюсь поставить SP3 и поставить фиксированный размер памяти для SQL Server. Это большая проблема, однако перезапустить сервер.)))))

Спасибо всем, а то головная боль большая ))))))
...
Рейтинг: 0 / 0
28.12.2001, 17:48
    #32020040
insufficient system memory при BULK INSERT
если вдруг кто-то еще заинтересуется этим тридом, то можете глянуть вот в этот линк:
http://www.lcard.ru/~nail/sybase/error/6169.htm
вдруг поможет!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / insufficient system memory при BULK INSERT / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]