4

使用数据库的应用程序突然中断。我开始调查并注意到一个简单的计数查询

SELECT count(uberdataid) FROM [Alexander].[dbo].[UberData]

在 SQL Server 中创建错误:

消息 0,级别 11,状态 0,行 0 当前命令发生严重错误。结果,如果有的话,应该丢弃

一些想法:

  • 当我检查错误的堆栈跟踪时,它说有一个 EXCEPTION_ACCESS_VIOLATION。该异常的名称使我认为查询中可能存在权限问题。但是我在许多不同的用户帐户上都遇到了同样的错误(之前都能够毫无问题地查询数据库)。

  • 这个关于 SO ( Exception Access Violation in SQL ) 的讨论让我认为查询可能会遇到一个挥之不去的记录锁,但我已经重新启动了服务器,所以这似乎不太可能。

网上其他留言板也有一些其他未解决的讨论。

有任何想法吗?

Stackoverflow 不会让我发布整个跟踪(太长),但如果人们需要查看相关部分,我很乐意发布。我不知道跟踪中的哪些部分最重要。

4

1 回答 1

3

这看起来像一个 SQL Server 错误。EXCEPTION_ACCESS_VIOLATION意味着 SQL Server 内部的代码试图访问“无效”内存(例如,取消引用NULL指针)。它与 SQL Server 安全设置无关。

即使这可能是一个错误,我建议您运行

DBCC CHECKDB WITH EXTENDED_LOGICAL_CHECKS, DATA_PURITY, NO_INFOMSGS

在有问题的数据库上。可能存在触发 SQL Server 错误的损坏。

于 2012-07-16T20:40:38.167 回答