Sqlserver.exe перестает работать
С момента установки обновления Visual Studio 2015 Update 3 я получаю следующую ошибку. Это происходит только в том случае, если Visual Studio 2015 открыт и происходит, работает ли я как локальный администратор или нет. Это часто и раздражает, но, похоже, не влияет на какую-либо работу, которую я делаю. Code, Server Explorer, VS все работают нормально, когда появляются сообщения об ошибках, и Microsoft Error Reporting занимает много времени 50% использования моего процессора в этом процессе.
Кто-нибудь знает, как это исправить? Я не хочу часами пытаться это разрешить.
Сообщение об ошибке:
![введите описание изображения здесь]()
В моем журнале событий приложений я вижу следующее:
Коробка неисправностей 126419871336, тип 5 Название события: SQLException64 Response: Недоступно Идентификатор кабины: 0
Подпись задачи: P1: sqlservr.exe P2: 0.0.0.0 P3: 0000000000000000 P4: sqlmin.dll P5: 2015.130.1601.5 P6: 000000005724AE98 P7: -1073741819 P8: 0000000000064BB2 P9: 00000001D8D946AB P10:
Присоединенные файлы: \?\C:\Users\m_f\AppData\Local\Microsoft\Microsoft SQL Локальная БД сервера\Экземпляры\ProjectsV13\SQLDump0100.mdmp \?\C:\Users\m_f\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Экземпляры\ProjectsV13\SQLDump0100.txt \?\C:\Users\m_f\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Экземпляры\ProjectsV13\SQLDump0100.log \\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE021.tmp.WERInternalMetadata.xml
Эти файлы могут быть доступны здесь: C:\ProgramData\Microsoft\Windows\WER\ReportArchive\Critical_sqlservr.exe_7113a987f49ac660cb71f97cb4183ea19827ef0_00000000_0bd7e949
Символ анализа: повторная проверка для решения: 0 ID отчета: 3e38065a-5d62-11e6-89a7-97ade4354400 Состояние отчета: 1 Хешированное ведро: ff995718a61d049a3664662b84518798
И в журнале SQL:
Процесс 49 сгенерировал фатальное исключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server завершает этот процесс.
Также кажется, что это была известная проблема - см. эту статью Microsoft KB, в которой говорится, что она была исправлена.
Моя система как можно более актуальна с точки зрения ОС, патчей, обновлений безопасности, обновлений Visual Studio и т.д., но я все еще вижу эту проблему. Надеюсь, кто-то решил это раньше и может спасти меня от разочарования, пытаясь разобраться в нем!
Спасибо
Ответы
Ответ 1
В этом случае на форуме Microsoft MSDN существует текущая тема:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/0c486ed7-9fdb-45f0-9fcd-342eadbb0476/sqlserverexe-crashing
По-видимому, этот сбой происходит после обновления до самой последней версии SSDT (14.0.60525.0).
Сотрудник Microsoft предположил это как исправление:
Мы исследовали и считаем, что это происходит, когда функция сохранения запросов включена в любой базе данных на сервере localdb. Вы можете обойти эту проблему, отключив функцию сохранения запросов во всех экземплярах базы данных localdb. Чтобы найти имена баз данных с включенным хранилищем запросов, запустите этот запрос:
select [name] from sys.databases where is_query_store_on=1
Затем для каждой базы данных отключите хранилище запросов, выполнив такой запрос:
alter database DBNAME set query_store=off
Некоторые сообщили, что это не исправило проблему для них, другие, что она сделала, поэтому ваш успех может отличаться.
См. комментарий сотрудника Microsoft Кевина Куньяна ниже:
Фиксированный LocalDB.msi включен в августовский выпуск - доступен с msdn.microsoft.com/en-us/library/mt204009.aspx с обновлением через канал расширения и обновления Visual Studio в течение следующих нескольких недель.
Ответ 2
На вашем прогоне localDb после script
DECLARE @name VARCHAR(50)
DECLARE @query VARCHAR(max)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM sys.databases
WHERE is_query_store_on=1 and name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
set @query = 'alter database ['+ @name+'] set query_store=off'
EXECUTE( @query)
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
это исправит проблему для всех баз данных
Ответ 3
Я знаю, что это старая статья, но проблема восходит снова, так как VS 2017 кажется... по крайней мере, с моим проектом базы данных SQL (SSDT) ... поэтому в надежде, что это может помочь кому-то еще...
Принятый ответ работает отлично, но довольно ручной. script, предоставляемый Mahdi, делает его немного более автоматизированным. Однако в обоих случаях вы можете (в зависимости от вашей установки/развертывания) выполнить script в обеих базах master
на (localdb)\mssqllocaldb
и (localdb)\projectsv1
соответственно.
Кроме того, проблема в том, что свойство постоянно восстанавливается при каждом создании и запуске с помощью F5
. Однако, как оказалось, на вкладке Отладка на странице свойств проекта есть параметр Развернуть свойства базы данных... очистить (снимите галочку) этот параметр, чтобы обеспечить что проблема не вернется.
Обратите внимание: a) это только для режима Отладка; и b) он применим только к базам данных под (localdb).
![страница свойств проекта - вкладка отладки]()
Ответ 4
Просто запустите Visual Studio в качестве администратора (просто щелкните правой кнопкой мыши ярлык Visual Studio и выберите "Запуск от имени администратора" ).