自安装Visual Studio 2015 Update 3以来,我遇到了以下错误。它只在Visual Studio 2015打开时发生,并且无论我是否以本地管理员身份运行都会发生。它经常发生并且很刺激,但似乎并没有影响我正在做的任何工作。代码,服务器资源管理器,VS所有工作正常,弹出错误消息,Microsoft错误报告占用了我的CPU长时间50%的使用率。
有谁知道如何解决这个问题?我不想花几个小时试图解决它。
错误消息:
在我的应用程序事件日志中,我看到以下内容:
故障桶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更新等方面尽可能地保持最新,但我仍然看到了这个问题。希望有人之前已经解决了这个问题,并且可以为我节省一些挫败感,试图让它排序!
谢谢
答案 0 :(得分:12)
微软的MSDN论坛上有关于这次崩溃的持续线索:
显然,升级到最新版本的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)下的数据库。