Подтвердить что ты не робот

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 и т.д., но я все еще вижу эту проблему. Надеюсь, кто-то решил это раньше и может спасти меня от разочарования, пытаясь разобраться в нем!

Спасибо

4b9b3361

Ответ 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 и выберите "Запуск от имени администратора" ).