tags:

views:

37

answers:

2

What would be a typical situation under which the following error would occur, and what does it mean?

Also note that I find myself disconnected from the server when the query fails (but I have not myself observed that).

Location:     "xact.cpp":4253
Expression:   !m_parNestedXactCnt
SPID:         56
Process ID:   2208
Description:  Trying to use the transaction while there are 1 parallel nested xacts outstanding
Location:     "xact.cpp":4362
Expression:   !m_parNestedXactCnt
SPID:         56
Process ID:   2208
Description:  Trying to use the transaction while there are 1 parallel nested xacts outstanding
Msg 3624, Level 20, State 1, Line 131
A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a QFE from Technical Support. 
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command.  The results, if any, should be discarded.
A: 

Just based on your posted error text, I would say that it is that you are Trying to use the transaction while there are 1 parallel nested xacts outstanding

It seems like there is a parallel query running, and you are trying to do something with the transaction before all the parts are finished.

Gabriel McAdams
+1  A: 

This looks like a failed assertion in SQL Server code. Basically, you've uncovered a bug in SQL Server. You could submit it to Microsoft.

A quick solution is to add option (maxdop 1) at the end of your query; this instructs SQL Server not to spread the query over multiple processors (aka parallelizing.)

Andomar