Sqlserver.exe已停止工作

时间:2016-08-08 12:48:05

标签: c# sql-server visual-studio-2015 updates

自安装Visual Studio 2015 Update 3以来,我遇到了以下错误。它只在Visual Studio 2015打开时发生,并且无论我是否以本地管理员身份运行都会发生。它经常发生并且很刺激,但似乎并没有影响我正在做的任何工作。代码,服务器资源管理器,VS所有工作正常,弹出错误消息,Microsoft错误报告占用了我的CPU长时间50%的使用率。

有谁知道如何解决这个问题?我不想花几个小时试图解决它。

错误消息:

enter image description here

在我的应用程序事件日志中,我看到以下内容:

  

故障桶126419871336,类型5事件名称:SQLException64响应:   不可用Cab Id: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   服务器本地DB \ Instances \ 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 \微软\的Windows \ WER \ TEMP \ WERE021.tmp.WERInternalMetadata.xml

     

这些文件可在此处获取:   C:\ ProgramData \微软\的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正在终止此过程。

似乎也是一个已知问题 - 请参阅this Microsoft KB Article,表示已修补。

我的系统在操作系统,补丁程序,安全更新,Visual Studio更新等方面尽可能地保持最新,但我仍然看到了这个问题。希望有人之前已经解决了这个问题,并且可以为我节省一些挫败感,试图让它排序!

谢谢

3 个答案:

答案 0 :(得分:12)

微软的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

有些人报告说这并没有为他们解决问题,有些人则认为这样做了,所以你的成功可能会有所不同。

请参阅下面的微软员工Kevin Cunnane的评论:

  

固定的LocalDB.msi包含在8月发行版中 - 可从msdn.microsoft.com/en-us/library/mt204009.aspx获得,并在未来几周内通过Visual Studio扩展和更新通道进行更新。< / p>

答案 1 :(得分:5)

在localDb上运行以下脚本

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

这将解决所有数据库的问题

答案 2 :(得分:4)

我知道这是一个古老的帖子,但问题是自VS 2017以来似乎再次抬头......至少我的(SSDT)SQL数据库项目...所以希望这可能有助于某人其他...

接受的答案完美无缺,但非常手动。 Mahdi提供的脚本使其更加自动化。但是,在这两种情况下,您可能(根据您的构建/部署设置)需要分别在master(localdb)\mssqllocaldb上的(localdb)\projectsv1数据库上运行脚本。

此外,问题是每次使用F5构建和运行时,属性都会不断恢复。但事实证明,项目属性页面的调试选项卡上有一个设置,名为部署数据库属性 ...清除(取消选中)此设置以确保这个问题没有回来。

请注意:a)这仅适用于调试模式; b)它仅适用于(localdb)下的数据库。

project properties page - debug tab