更新命令上的SQL Server错误 - "当前命令发生严重错误"

Pau*_*and 38 t-sql sql-server sql-server-2005

在SQL Server Management Studio中运行以下查询会给出以下错误.

update table_name set is_active = 0 where id  = 3
Run Code Online (Sandbox Code Playgroud)

当前命令发生严重错误.结果(如果有的话)应该被丢弃.

  • 日志已被截断
  • 有一个更新触发器,但这不是问题
  • 交易计数为零(@@ trancount)

我已经在数据库中的其他几个表上尝试了相同的更新语句,它们工作正常.

DBCC CHECKTABLE('table_name');
Run Code Online (Sandbox Code Playgroud)

DBCC results for 'table_name'.
There are 13 rows in 1 pages for object "table_name".
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Run Code Online (Sandbox Code Playgroud)

Lau*_*raB 48

我只是遇到了同样的错误,它归结为一个损坏的索引.重新索引表修复了问题.

我意识到这个帖子已经有一年了,但我认为值得一提的是将来有人遇到它(就像我刚才那样).

  • 您如何发现它是损坏的索引? (3认同)

ARZ*_*ARZ 11

就我而言,我正在使用SubQuery并遇到同样的问题.我意识到问题是内存泄漏.

重新启动MSSQL服务会导致刷新tempDb资源并释放大量内存.所以这就解决了这个问题.


gbn*_*gbn 6

MS KB有3种可能性

当我看到这样的东西:我总是认为修补程序,引擎,服务器错误等.

4结果:搜索""消息0,级别11,状态0,行0"当前命令发生严重错误"

编辑:它也在MS Connect上

  • 除一个链接外,所有链接均为404。请更新链接/在此答案中填写信息 (2认同)

Rem*_*anu 5

DBCC CHECKTABLE('table_name');

检查安装了 istance 的 LOG 文件夹(\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG通常)是否有任何名为“ SQLDUMP*”的文件

  • 还可以尝试 DBCC CHECKDB(yourdb) 将检查扩展到整个数据库。如果您找到转储文件,请查看较新的 sqldump*.txt 文件。 (2认同)

use*_*998 5

一个不同的场景,但同样的错误:当我尝试使用存储过程将记录插入到临时表中时出现此错误。结果发现参数不匹配。我试图将 BIGINT 插入到 INT 中。

归功于 Vicky Harp:http : //vickyharp.com/2012/03/troubleshooting-a-severe-error-occurred-on-the-current-command/