Error de SQL Server en el comando de actualización: “Se produjo un error grave en el comando actual”

Al ejecutar la siguiente consulta en SQL Server Management Studio aparece el siguiente error.

update table_name set is_active = 0 where id = 3 

Se produjo un error grave en el comando actual. Los resultados, si los hay, deben descartarse.

  • Los registros han sido truncados
  • hay un activador de actualización, pero este no es el problema
  • el recuento de transacciones es cero (@@ trancount)

He intentado la misma statement de actualización en un par de otras tablas en la base de datos y funcionan bien.

 DBCC CHECKTABLE('table_name'); 

da

 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. 

Acabo de tener el mismo error, y fue a un índice dañado. Volver a indexar la tabla solucionó el problema.

Me doy cuenta de que este hilo tiene un año, pero pensé que sería útil mencionarlo en caso de que alguien lo descubriera en el futuro (como acabo de decir).

En mi caso, estaba usando SubQuery y tenía el mismo problema. Me di cuenta de que el problema es la fuga de memoria.

Reiniciar la causa del servicio MSSQL para descargar el recurso tempDb y liberar gran cantidad de memoria. así que esto fue resolver el problema.

Hay 3 posibilidades en la MS KB

  • 959028
  • 910416
  • 938102

Cuando veo cosas como esta: siempre pienso en revisiones, motores, errores de servidor, etc.

4 resultados: búsqueda de “” Msg 0, nivel 11, estado 0, línea 0 “Se produjo un error grave en el comando actual”

Editar: también está en MS Connect

Ejecute DBCC CHECKTABLE('table_name');

Compruebe la carpeta de LOG donde está instalada la interfaz ( \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG general) para cualquier archivo llamado ‘ SQLDUMP*

Un escenario diferente pero con el mismo error: obtuve este error cuando intenté insertar registros en una tabla temporal usando un procedimiento almacenado. Resultó que había una discrepancia de parámetros. Estaba tratando de insertar un BIGINT en una INT.

El crédito es para Vicky Harp: http://vickyharp.com/2012/03/troubleshooting-a-severe-error-occurred-on-the-current-command/

En mi caso, estaba usando System.Threading.CancellationTokenSource para cancelar un SqlCommand pero no manejando la excepción con catch (SqlException) { }