Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Ошибка kernel32.dll  [new]
Kuklovod
Guest
Приветствую Вас, уважаемые.
Второй раз за сутки происходит перезагрузка SQL сервера, в application events сообщение:
Faulting application sqlservr.exe, version 2000.80.2040.0, faulting module kernel32.dll, version 5.2.3790.0, fault address 0x000249d3

select @@version

Microsoft SQL Server 2000 - 8.00.2040 (Intel X86)
May 13 2005 18:33:17
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: )

Вроде все облазил, но так и не нашел хотя-бы намека на данную проблему. Если есть хотя-бы какие-нибудь мысли, прошу - поделитесь.
Заранее спасибо.
24 янв 06, 12:41    [2281420]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
ИМХО, Виндовз глючит.
24 янв 06, 12:45    [2281445]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
saint
Member

Откуда: Архангельск
Сообщений: 2262
Может есть какие extended ХП, заслуживающие недоверия?
24 янв 06, 13:04    [2281584]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Crimean
Member

Откуда:
Сообщений: 13148
а еще что-нить в евентлоге есть? в систем разделе, скажем?
24 янв 06, 13:07    [2281614]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Guest
1. Windows это конечно лучше чем SQL (не моя задача), но легче от этого не становиться.
2. Extended ХП используются, но все стандартные, для работы с xml.
3. Остальные записи в Event логах стандартны для ситуации непредномеренного остонова SQL сервера:
The MSSQLSERVER service terminated unexpectedly. It has done this 2 time(s).
24 янв 06, 13:24    [2281743]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Crimean
Member

Откуда:
Сообщений: 13148
что в логе сиквела?
24 янв 06, 13:36    [2281810]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
В том-то и дело что НИЧЕГО.
Последние сообщение в логах SQL d 11:15, а сервис обвалился в 11:44. Да и то последние сообщение относится к kill пользовательского процесса.
24 янв 06, 13:42    [2281834]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
А с памятью как обстоят дела? Сиквелу хватает? Диски "Живые"?
24 янв 06, 13:47    [2281856]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Памяти на сервере 12 GB, SQL server-у жестко выделенно 9GB. Диски тоже живы - здоровы. В общем ничего аномального кроме этой ошибки.
24 янв 06, 13:50    [2281878]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Сп1 на Вин2003 сервер нестоИт?
24 янв 06, 13:52    [2281897]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Crimean
Member

Откуда:
Сообщений: 13148
ха!
AWE + памяти не хватило?
24 янв 06, 14:04    [2281963]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
SP1 похоже действительно не установлен - надо системщиков подергать. А вот AWE выключен. Как уже говорилось верхний предел памяти ограничен - не ужели это стало причиной?
24 янв 06, 14:48    [2282154]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Kuklovod
SP1 похоже действительно не установлен - надо системщиков подергать. А вот AWE выключен. Как уже говорилось верхний предел памяти ограничен - не ужели это стало причиной?


стоп-стоп-стоп!
как это AWE выключен, если

Kuklovod
Памяти на сервере 12 GB, SQL server-у жестко выделенно 9GB. Диски тоже живы - здоровы. В общем ничего аномального кроме этой ошибки


как можно выделить 9 гиг без AWE ?!
24 янв 06, 14:52    [2282178]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Простите великодушно - переживаю и пишу не совсем то что есть на самом деле. Естественно AWE ВКЛЮЧЕНО и верхний предел памяти ограничен.
Вот конфигурация:
affinity mask -2147483648 2147483647 127 127
allow updates 0 1 0 0
awe enabled 0 1 1 1
c2 audit mode 0 1 0 0
cost threshold for parallelism 0 32767 100 100
Cross DB Ownership Chaining 0 1 0 0
cursor threshold -1 2147483647 -1 -1
default full-text language 0 2147483647 1033 1033
default language 0 9999 0 0
fill factor (%) 0 100 80 80
index create memory (KB) 704 2147483647 65536 65536
lightweight pooling 0 1 0 0
locks 5000 2147483647 0 0
max degree of parallelism 0 32 6 6
max server memory (MB) 4 2147483647 9300 9300
max text repl size (B) 0 2147483647 65536 65536
max worker threads 32 32767 500 500
media retention 0 365 0 0
min memory per query (KB) 512 2147483647 65536 65536
min server memory (MB) 0 2147483647 9300 9300
nested triggers 0 1 1 1
network packet size (B) 512 32767 4096 4096
open objects 0 2147483647 0 0
priority boost 0 1 1 1
query governor cost limit 0 2147483647 0 0
query wait (s) -1 2147483647 -1 -1
recovery interval (min) 0 32767 2 2
remote access 0 1 1 1
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 1200 1200
scan for startup procs 0 1 1 1
set working set size 0 1 0 0
show advanced options 0 1 1 1
two digit year cutoff 1753 9999 2049 2049
user connections 0 32767 0 0
user options 0 32767 0 0
24 янв 06, 15:10    [2282265]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Продолжая тему. Вполне возможно удалось обнаружить запрос "прибивающий" сервак:

DECLARE @FileName VARCHAR(1024), @FSO INT, @File INT, @R INT, @Data NVARCHAR(4000)

SELECT @FileName = '\\Имя сервера\Имя шаренного ресурса\имя файла.xml'

EXEC @R = sp_OACreate 'Scripting.FileSystemObject', @FSO OUT
IF @R = 0
BEGIN
EXEC @R = sp_OAMethod @FSO, 'OpenTextFile', @File OUT, @FileName, 1

IF @R = 0
BEGIN
EXEC @R = sp_OAMethod @File, 'ReadAll', @Data OUT

EXEC sp_OAMethod @File, 'Close'

END
IF @R != 0 RAISERROR ('Ошибка при чтении файла.', 16, 1)
EXEC sp_OADestroy @FSO
END
ELSE RAISERROR ('Ошибка при создании объекта FileSystemObject', 16, 1)
print @Data
DECLARE @idoc int
EXEC sp_xml_preparedocument @idoc OUTPUT, @Data

select
*
from openxml (@idoc, 'ClientID',1)
with ([ClientID] int)

EXEC sp_xml_removedocument @idoc

Выборку я конечно упростил, там разбирается файл полностью. Так вот размер этого файлика достиг 300 MB. Соответственно существует подозрение что именно он переполняет память. Хотя в этом ли дело...
24 янв 06, 17:05    [2282887]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuklovod

Выборку я конечно упростил, там разбирается файл полностью. Так вот размер этого файлика достиг 300 MB. Соответственно существует подозрение что именно он переполняет память. Хотя в этом ли дело...

Хм. Интересно, а как вы в @Data NVARCHAR(4000) засунули 300 MB ?
24 янв 06, 17:10    [2282915]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Ну это уже вопрос к разработчикам. Как они планировали свою систему, какие быле предположения на развитие, ну вобщем много всего.
Тем ни менее вопрос остается открыт - почему "это" рушит сервер???
24 янв 06, 17:16    [2282966]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Glory
Member

Откуда:
Сообщений: 104760
Kuklovod
Ну это уже вопрос к разработчикам. Как они планировали свою систему, какие быле предположения на развитие, ну вобщем много всего.
Тем ни менее вопрос остается открыт - почему "это" рушит сервер???

Ну так может поэтому и рушит когда в 8000 байт пытаются запихнуть 300Мб.
А что еще более верятно, что полученный в переменной обрывок xml вызывает ошибку sp_xml_preparedocument, которая прерывает выполнение скрипта. И поэтому sp_xml_removedocument не выполняется. Что и сжирает постепенно память. Имхо
24 янв 06, 17:20    [2282988]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Скрипт ошибочен (вероятнее всего), но сегодня ночью он работал более 3 часов и в итоге свалился с описанной в нем самом ошибкой "Ошибка чтения файла". А сервер работал! Все-таки дело возможно и не в нем. Прогнал на тесте - правда там памяти заметно меньше и настройки другие, соответственно AWE работать не будет. Эх, не четкий эксперимент получился, но все же НИЧЕГО не случилось - запускал задачу более 5 раз (на "боевом" она делается 2 раза в сутки) - сервер работает.
Просто и не знаю в каком направлении дальше думать. Выполнение задачи прекратил - буду ждать результатов. И естественно Ваших полезных советов.
24 янв 06, 18:13    [2283318]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Glory
Kuklovod
Ну это уже вопрос к разработчикам. Как они планировали свою систему, какие быле предположения на развитие, ну вобщем много всего.
Тем ни менее вопрос остается открыт - почему "это" рушит сервер???

Ну так может поэтому и рушит когда в 8000 байт пытаются запихнуть 300Мб.
А что еще более верятно, что полученный в переменной обрывок xml вызывает ошибку sp_xml_preparedocument, которая прерывает выполнение скрипта. И поэтому sp_xml_removedocument не выполняется. Что и сжирает постепенно память. Имхо

+1

Согласен, процентов 99, что именно так и есть - сам неоднократно такое видел.
25 янв 06, 06:42    [2284307]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Господа,
я вполне допускаю возможность наполнения памяти данными из этого файла. Но серверу доступны 9ГБ - файл 300 МБ - переменная в которую он читается 8000 байт - задание выполняется 2 раза в сутки. Получается максимальное наполнение за сутки - 600 МБ (в случае переполнения пространства отведенного под переменную). Перезагрузка память явно очищает - за последние 1,5 суток перезагрузок было три. Т.е. логичнее утверждать что не это оснавная причина, ну или не только это.
25 янв 06, 09:29    [2284571]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Попробуйте вместо NVARCHAR(4000) использовать NTEXT.
25 янв 06, 09:46    [2284628]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Kuklovod
Member

Откуда:
Сообщений: 51
Каким образом я смогу использовать NTEXT в качестве переменной?
25 янв 06, 10:14    [2284746]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Kuklovod
Каким образом я смогу использовать NTEXT в качестве переменной?
В качестве переменной - нельзя, а вот в качестве входного параметра - пожалуйста. Просто, я не договорил про это.
25 янв 06, 10:29    [2284820]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка kernel32.dll  [new]
Дмитрий Ермаков
Member

Откуда:
Сообщений: 14
Стоит не забывать про возможные глюки памяти, такое бывает...
Температура в серверной нормальная???
Совместимость с материнской платой и т.д.
Давно делали upgrade железа на этом сервере?
25 янв 06, 10:37    [2284873]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить