Почти каждый день наша новая БД падает. Это виртуальный сервер, находящийся на том же оборудовании, что и 5 других серверов, два из которых идентичны MS SQL2008sp1 и два Oracle 11g, так что я могу практически исключить проблемы с оборудованием.
Сервер имеет выделенный локальный LUN, 4vCPU и 8 ГБ памяти с файлом подкачки Windows 2 ГБ. Он запускает 4 экземпляра. Основной экземпляр ограничен 5 ГБ памяти, а параллелизм установлен на 4, работающих на MS SQL 2008 SP1 @ Windows Server 2008 Enterprise R2 x64.
Только этот первичный экземпляр падает. После того, как он падает, к нему ничего не может подключиться, его даже невозможно выключить через менеджер служб.
Вот что я нашел в логах:
***Дамп стека отправляется в C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0081.txt
SqlDumpExceptionHandler: Процесс 4788 сгенерировал фатальное исключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server завершает этот процесс.
Полный журнал можно посмотреть по адресу:http://kabl.org/files/SQLDump0081.txt
второй журнал сбоев, созданный позже:http://kabl.org/files/SQLDump0082.txt
Я проанализировал mini crashdump с помощью инструментов Microsoft, но никаких многообещающих результатов. Если это может помочь, вот это:http://kabl.org/files/SQLDump0081.mdmp
Любые идеи приветствуются, так как перезапускать сервер почти каждый день становится все сложнее :)
Реградс, -Матия
решение1
Каков результат анализа аварийного дампа? Ошибки C0000005 — это ошибки переполнения буфера. Поскольку у вас запущены другие экземпляры, я бы ожидал, что анализ минидампа покажет, что есть драйвер, который вызывает проблемы.