KB2933103 - REMEDIERE: Eroare de asserțiune atunci când executați o interogare specificând TOP N și ORDER BY în SQL Server

Se aplică la
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptome

Să presupunem că utilizați Microsoft SQL Server 2008 R2, SQL Server 2012 sau SQL Server 2014. Când executați o interogare utilizând TOP N și ORDER BY, interogarea atinge o eroare de assergere asemănătoare cu următoarea:

Notă

Locație: "qstopsrt.cpp":384
Expresie: fFals
SPID: <SPID>
ID proces: <ID proces>
Locație: qxcntxt.cpp:1052
Expresie: cref == 0
SPID: <SPID>
ID proces: <ID proces>
Msg 3624, Level 20, State 1, Line 2
O verificare a aserțiunilor de sistem nu a reușit. Verificați jurnalul de erori SQL Server pentru detalii. De obicei, o eroare de aserțiune este cauzată de o eroare de software sau de deteriorarea datelor. Pentru a verifica dacă baza de date este deteriorată, luați în considerare rularea DBCC CHECKDB. Dacă ați fost de acord să trimiteți fișiere dump la Microsoft în timpul instalării, un fișier mini-dump va fi trimis la Microsoft. O actualizare poate fi disponibilă de la Microsoft în cel mai recent pachet Service Pack sau într-un QFE de la asistența tehnică.
Mesaj 0, Nivel 20, Stare 0, Linia 0
S-a produs o eroare gravă la comanda curentă. Ar trebui eliminate rezultatele, dacă există.

Notă: Remedierea se poate aplica, de asemenea, dacă planul de interogare conține "Sortare (Sortare n sus)".

Cauză

Problema apare din cauza unei erori interne în motorul de executare a interogării.

Rezolvare

Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă a SQL Server.

Actualizarea cumulativă 1 pentru SQL Server 2012 SP2 /en-us/help/2976982

Actualizarea cumulativă 2 pentru SQL Server 2014 /en-us/help/2967546

Actualizarea cumulativă 10 pentru SQL Server 2012 SP1 /en-us/help/2954099

Actualizarea cumulativă 12 pentru SQL Server 2008 R2 SP2 /en-us/help/2938478

Despre actualizările cumulative pentru SQL Server

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

      

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.