SQL Server error on update command - "A severe error occurred on the current command"

Sql ServerSql Server-2005Tsql

Sql Server Problem Overview


Running the following query in SQL Server Management Studio gives the error below.

update table_name set is_active = 0 where id  = 3

>A severe error occurred on the current command. The results, if any, should be discarded.

  • The logs have been truncated
  • there is an update trigger but this isnt the issue
  • the transaction count is zero (@@trancount)

I have tried the same update statement on a couple of other tables in the database and they work fine.

DBCC CHECKTABLE('table_name');

gives

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.

Sql Server Solutions


Solution 1 - Sql Server

I just had the same error, and it was down to a corrupted index. Re-indexing the table fixed the problem.

Solution 2 - Sql Server

In my case,I was using SubQuery and had a same problem. I realized that the problem is from memory leakage.

Restarting MSSQL service cause to flush tempDb resource and free huge amount of memory. so this was solve the problem.

Solution 3 - Sql Server

Run DBCC CHECKTABLE('table_name');

Check the LOG folder where the isntance is installed (\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG usually) for any file named 'SQLDUMP*'

Solution 4 - Sql Server

There are 3 possibilities on the MS KB

When I see stuff like this: I always think hotfix, engine, server errors etc.

4 results: search for ""Msg 0, Level 11,State 0, Line 0" A severe error occurred on the current command"

Edit: It's on MS Connect too

Solution 5 - Sql Server

A different scenario but the same error: I got this error when I was trying to insert records into a temporary table using a stored procedure. It turned out there was a parameter mismatch. I was trying to insert a BIGINT into an INT.

Credit goes to Vicky Harp: http://vickyharp.com/2012/03/troubleshooting-a-severe-error-occurred-on-the-current-command/

Solution 6 - Sql Server

This error is exactly what it means: Something bad happened, that would not normally happen.

In my most recent case, the REAL error was:

Msg 9002, Level 17, State 2, Procedure MyProcedure, Line 2 [Batch Start Line 3]
The transaction log for database 'MyDb' is full due to 'LOG_BACKUP'.

Here is my checklist of things to try, perhaps in this exact order:

  1. Check if you're out of disk space (this was my real problem; our NOC did not catch this)
  2. Check if you're low on memory
  3. Check if the Windows Event Log shows any serious system failures like hard drives failing
  4. Check if you have any unsafe code loaded through extended procedures or SQLCLR unsafe assemblies that could de-stabilize the SQLServer.exe process.
  5. Run CheckDB to see if your database has any corruption issues. On a very large database, if this stored procedure only touches a sub-set of tables, you can save time by seeing which partitions (filegroups) the stored procedure touches, and only checking those specific filegroups.
    1. I would do this for your database and master db as well.

Solution 7 - Sql Server

In my case, I was using System.Threading.CancellationTokenSource to cancel a SqlCommand but not handling the exception with catch (SqlException) { }

Solution 8 - Sql Server

This seems to happen when there's a generic problem with your data source that it isn't handling.

In my case I had inserted a bunch of data, the indexes had become corrupt on the table, they needed rebuilding. I found a script to rebuild them all, seemed to fix it. To find the error I ran the same query on the database - one that had worked 100+ times previously.

Solution 9 - Sql Server

in my case, the method: context.Database.CreateIfNotExists(); called up multiple times before create database and crashed an error A severe error occurred on the current command. The results, if any, should be discarded.

Solution 10 - Sql Server

I was having the error in Hangfire where I did not have access to the internal workings of the library or was I able to trace what the primary cause was.

Building on @Remus Rusanu answer, I was able to have this fixed with the following script.

    --first set the database to single user mode
	ALTER DATABASE TransXSmartClientJob
	SET SINGLE_USER
	WITH ROLLBACK IMMEDIATE;
    GO

	-- Then try to repair
	DBCC CHECKDB(TransXSmartClientJob, REPAIR_REBUILD)

	-- when done, set the database back to multiple user mode
	ALTER DATABASE TransXSmartClientJob
	SET MULTI_USER;
	GO

Solution 11 - Sql Server

One other possible solution we just found after having this issue across multiple databases/tables on the same server.

Is the max connections open to the sql server. We had an app that wasn't closing it's SQL connection and was leaving them open so we were running around 28K-31K connections (SQL Sever has a max out at 32K ish), and we noticed that once we killed a few thousand sleeping connections it took care of the error listed on this question.

The fix was to update the apps to make sure they closed their connections instead of leaving them open.

Solution 12 - Sql Server

In my case it was something else, += operator caused this. I had to replace += X with field = field + X to overcome this. I assume this is a bug though I wasn't able to find any related KB on Microsoft sites.

I am using SQL Server 2008 R2(10.50.1600).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPaul RowlandView Question on Stackoverflow
Solution 1 - Sql ServerLauraBView Answer on Stackoverflow
Solution 2 - Sql ServerARZView Answer on Stackoverflow
Solution 3 - Sql ServerRemus RusanuView Answer on Stackoverflow
Solution 4 - Sql ServergbnView Answer on Stackoverflow
Solution 5 - Sql Serveruser489998View Answer on Stackoverflow
Solution 6 - Sql ServerJohn ZabroskiView Answer on Stackoverflow
Solution 7 - Sql ServerLeo GurdianView Answer on Stackoverflow
Solution 8 - Sql ServerPaul HutchinsonView Answer on Stackoverflow
Solution 9 - Sql ServerSilny ToJaView Answer on Stackoverflow
Solution 10 - Sql ServerShittu Joseph OlugbengaView Answer on Stackoverflow
Solution 11 - Sql ServertryonlinuxView Answer on Stackoverflow
Solution 12 - Sql ServerMelOSView Answer on Stackoverflow