Symptom
Du kör en SQL-fråga som innehåller en IF exists -programsats i Microsoft SQL Server 2012. Om instruktionen om exists innehåller den dynamiska hanterings funktionen sys.dm_db_index_physical_statsfår du ett åtkomst fel som ser ut ungefär så här:
datum/ tid SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * # * *datetime * * * * * * * * * * * * * * * * * * * * * datum ochtidSPID# * date TimeSPID# * BEGIN stackdump: datum/tidSPID# * datum /tid SPID #time datum tidSPID# * datum tidSPID# * datum tidSPID# * undantags adress = 000007FF7DA5614B (sqlmin + 000000000000614B) datum tidSPID# * undantags kod = c0000005 EXCEPTION_ACCESS_VIOLATION datum/tidSPID# * åtkomst felinträffade när du läste adress 0000000800000F04 datum # /tidnummer * slut 510 SQL_query_code
Kommentarer
-
Om du kör kommandot DBCC CHECKDB mot databasen efter åtkomst felet rapporteras inget fel.
-
Åtkomst felet inträffar inte när du kör SQL-frågan först. Men åtkomst felet inträffar varje gång du kör SQL-frågan efter det.
-
Om du aktiverar spårnings flaggan 3654 inträffar inte åtkomst felet. Men du får ett fel meddelande i spårningen i stället:
Plats: sosmemdbg. cpp: 2074Expression: FALSESPID: 55Process ID: 16972Description: MEMOBJ_INDEXANALYSIS--ej fritt minne upptäcktes. Meddelande 3624, nivå 20, State 1, rad 5A kontroll av kontroll fel. Mer information finns i fel loggen för SQL Server. Vanligt vis orsakas ett kontroll fel av ett program fel eller skadade data. Överväg att köra DBCC CHECKDB för att kontrol lera att databasen är skadad. Om du har kommit överens om att skicka dump till Microsoft under installationen skickas en mini-dumpning till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i senaste Service Pack eller i en QFE-teknik från teknisk support. MSG 0, nivå 20, State 0, Line 0A allvarligt fel inträffade för det aktuella kommandot. Eventuella resultat ska ignoreras.
Lösning
Lös problemet genom att installera den kumulativa uppdateringen 7 för SQL Server 2012 SP1. Det här problemet åtgärdades först i den här kumulativa uppdateringen.
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som fanns med i den föregående kumulativa uppdateringen. Mer information finns i den senaste kumulativa uppdateringen för SQL Server 2012 SP1.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Se vilken terminologi Microsoft använder för att beskriva program varu uppdateringar.