我的维护计划失败并在我的一个数据库上出现以下错误有人知道我该如何解决这个问题吗?是损坏的表吗?
执行查询
UPDATE STATISTICS [dbo].[Contact]
WITH FULLSCAN
...
失败并出现以下错误:
当前命令发生严重错误。结果,如果有的话,应该丢弃。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。
我的维护计划失败并在我的一个数据库上出现以下错误有人知道我该如何解决这个问题吗?是损坏的表吗?
执行查询
UPDATE STATISTICS [dbo].[Contact]
WITH FULLSCAN
...
失败并出现以下错误:
当前命令发生严重错误。结果,如果有的话,应该丢弃。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。
我为包含错误数据库触发器的数据库遇到了这种错误更新统计信息
FOR DDL_DATABASE_LEVEL_EVENTS
。这是我找到它的方法。我查看了该作业的历史记录(更新统计信息的维护计划)。在失败作业的日志文件查看器中有一个链接“查看 T-SQL”。
单击此链接会打开一个包含数千条 T-SQL 语句的窗口:
我将 T-SQL 复制到一个查询窗口,并找到错误消息中提到的表。这给了我数据库名称。
我突出显示了
USE [DATABASE_NAME]
andUPDATE STATISTICS
命令——对于我正在寻找的表——并执行了它们。这产生了一个错误,提到了一个名为 trAuditChangeDB 的过程。过程名称中的“tr”是寻找触发器的线索。
触发器包含一些错误代码,试图将行插入到不存在的表中。
我的解决方案是禁用错误触发器。显然
FOR DDL_DATABASE_LEVEL_EVENTS
,更新统计信息时会触发触发器。这个错误可能有很多原因
它可能是数据库中的索引损坏或数据损坏
检查这篇文章https://stackoverflow.com/questions/1175244/sql-server-error-on-update-command-a-severe-error-occurred-on-the-current-com
和这篇文章
http://sqlanddotnetdevelopment.blogspot.com/2011/03/severe-error-occurred-on-current.html
Microsoft 对此问题有一个 FIX,他们说如果您在“您更新表的统计信息”时收到此错误。那么这个修复是给你的......他们说这个问题发生是因为数据库引擎试图加载悬空统计信息,检查这个链接它是一个累积更新
http://support.microsoft.com/kb/2498796
昨天我在我的 Dynamics CRM 组织数据库上执行更新完整性检查时遇到了同样的错误消息。
最后我发现了,这是什么原因,而且很简单。如事件查看器中所述,磁盘上没有足够的空间来执行此操作。我们已经计划调整保存 DB 文件的分区大小,但想提前检查完整性。
因此,我们将更改保存数据库文件的分区的大小,然后再次运行维护计划。
问候