powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Куда девается память? Глюк SQL?
8 сообщений из 8, страница 1 из 1
Куда девается память? Глюк SQL?
    #32020833
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вырвал кусок даюший ошибку из программы. Она должна собирать (Dbf) файлы из разных источников в одну ленту в SQL. Данные однотипны поэтому в примере я для простоты цепляю один и тот же файл много раз. Для начала создается Linked Server -

EXEC sp_addlinkedserver
@server = 'MYDBFs',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'D:\BASE',
@provstr = 'dBASE IV'

после сам код дающий ошибку

DECLARE @i int
SET @i = 1
WHILE @i < 1000 BEGIN
IF EXISTS (SELECT * FROM sysobjects WHERE (name = N'MyBase'))
BEGIN
INSERT INTO MyBase
SELECT * FROM mydbfs...MyBase
END ELSE BEGIN
SELECT * INTO MyBase
FROM mydbfs...MyBase
END
SET @i = @i + 1
PRINT @i
END

и сама ошибка

Server: Msg 7399, Level 16, State 1, Line 6
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error. The provider did not give any information about the error.

которая возникает гдето на 900-м повторении, и не зависит от размера закачиваемого файла а только от количества вызовов связки mydbfs...MyBase и размера памяти (у меня 256). Используемая система Win 2000 Prof, SQL 2000, MDAC 2.7. Если открыть Task Manager (Ctrl+Alt+Del кнопка Task Manager) то видно как на странице Perfomance увеличивается значение Totals - Handles (примерно до 24000 после вылетает) и уменьшается количество доступной памяти. То есть Microsoft.Jet.OLEDB.4.0 не освобождает ресурсы при вызове из SQL. Если вызывать "чистый" SQL или Jet (через ADO например) в аналогичных случаях ничего подобного не происходит. Кто нибудь сталкивался с чем либо подобным? Настройки, неправильный вызов, изменения в логике - что может избавить от подобного эффекта?
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32020919
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Используемая система Win 2000 Prof, SQL 2000

Без сервис-паков что-ли ?
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32020922
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, убедитесь что вас последняя версия Jet 4.0
См. http://support.microsoft.com/default.aspx?scid=kb;en-us;Q239114
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32020923
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Windows и MDAK последние по апдейту скачивал. А SQL на работе второй SP (лицензия) дома "чистый" триал версия на 120 дней ("подарок" с Майкрософта) сегодня докачаю 2 SP. Но глюк проявляется как на работе так и дома.
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32021009
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Ссылку только сегодня увидел сейчас установлю и проверю. Но окончательная проверка будет на работе т.к. SQL SP2 на триал версию не установился, а жаль. Кстати Glory а у вас это не проявляется? (мне на работе советовали сменить систему на NT или 2000 Сервер), была бы лишняя машина проверил бы. А так менять систему без всякой уверености..., глупо и долго.
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32021017
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скачал обновление Jet 4.0. Оказалось без толку, у меня уже последняя версия(инсталятор сказал). Видать с виндовс апдейте установилось или в MDAC 2.7 входит. Люди! Большая просьба проверьте код (в вопросе) у кого установлен NT или Win 2000 Server. Как там ресурсы исчезают или нет? (не обязательно ждать краха системы уже после 10-20 повторов видны изменения Handles и памяти)
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32021047
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Результаты теста
Win2000 AdvServ SP2 + last fixes, SQL2000 EE SP2, MDAC 2.7, QA,
dbf 1798 записей(файл был создан в VFP 7.0):
-DEST char(15), DIGITS char(20), EXCHANGE_I char(9), OPERATOR char(9)

Предложенный вами код выполнялся в цикле до 100(не стал рисковать
)
Показания Handles в Task Manager
- до начала 7958
- во время выполнения максю значение 8000
- сразу после завершения выполнения 7979
- спустя еще 60 сек. 7958
...
Рейтинг: 0 / 0
Куда девается память? Глюк SQL?
    #32021052
Nikolay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Значит на Windows сервере все нормально. А у меня все по старому. Значит буду менять систему
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Куда девается память? Глюк SQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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