Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вопрос о пожирании памяти SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Люди, может кто посоветует что по такому вопросу. Стоит SQL Server 2000 MSDE под Win 98. Памятью управляет динамически. Конвертер - клиент на VB6, работа через ADO. Коннекшн один. Выбрали из таблицы записи в рекордсет и бежим по ним. Вызываем сторед процу (выполняем через Execute коннекшена). Она просто выбирает данные и возвращает рекордсет. Считали данные и закрыли его. Проверяем условия и если да, то выполняем вторую процу. Она производит инсерт во вьюху. На вьюху повешен INSTEAD OF триггер. (т.е. как таковая вставка не выполняется, запускается триггер) возвращает @@IDENTITY. Триггер производит вставку в пару таблиц, на которых повешены обычные триггера. Эти триггера кроме оунеров никого не трогают. Все. И так далее по циклу ЕОФ. Записей для обработки порядка 20-30 тысяч. ------------------------------------------------------------------ Теперь тробл. Сервер жрет память. На каждый парный вызов проц теряем по 100-200 кубиков. Бывает и больше. Отслеживал этот процесс через Norton System Doctor из NU. Съедает всю и вылетает с ошибкой. Если доработал, то закрытие клиента память не освобождает. В клиенте все редордсеты и конекшн закрываю и set nothing. ------------------------------------------------------------------ Заранее благодарен за любые мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2002, 08:11 |
|
||
|
Вопрос о пожирании памяти SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Настрой SQL-Server не на динамическое выделение памяти, а укажи конкретное значение при етом оставь естественно для операционки кусочек памяти, как показывает практика это поможет решению твоей проблемы. Но лучше не ставь SQL Server на Win98, в крайнем случае поставь Windows 2000 Professional. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2002, 11:18 |
|
||
|
Вопрос о пожирании памяти SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
"... и вылетает с ошибкой" - вот это странно. Возможно, стоит проверить свободное место на диске. При вставке большого количества записей transaction log может сильно расти. А то, что съедает всю, это нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 06:13 |
|
||
|
Вопрос о пожирании памяти SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Спасибо ответившим. to Alex E. Melnik. К сожалению приходится работать под 98. Одно из дурацких требований, а вот с управление памятью попробую. to Volk. Я не очень понятно рассказал об ошибке. Ошибка вылетает на клиенте. На диске место есть и при вылете виртуальной память еще полно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 07:31 |
|
||
|
Вопрос о пожирании памяти SQL Server 2000
|
|||
|---|---|---|---|
|
#18+
Может легче всю логику на сервер перенести, так как судя по работе, клиент ничего особенного не делает. Зачем на него так много записей возвращать. Да и думаю, не правильно это, 30 тыс. раз вызывать ХП. Может лучше просто написать скрипт на добавление во вьювер данных по отбору условия. Во всяком случае работать будет быстрее и памяти кушать не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 07:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32030614&tid=1822696]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
166ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 271ms |
| total: | 539ms |

| 0 / 0 |
