Симптоми
Да предположим, че имате таблица, която има превключвател за ГСД в Microsoft SQL Server 2008 R2, SQL Server 2012 или SQL Server 2014 и в този превключвател можете да се присъедините към вмъкнатата/изтрита таблица с други таблици. Когато изпълните декларация за ГСД в тази таблица, може да възникне нарушение на достъпа по време на компилацията и ще получите следната грешка:
Възникнала е тежка грешка в текущата команда. Резултатите, ако има такива, трябва да бъдат отхвърлени.
Освен това, следните грешки се записват в регистрационния файл за грешки на SQL Server:
<дата><час> SPID # * * * стека Dump, който се изпраща до <FilePath>\SQLDumpxxx.txt<дата><час> SPID # SqlDumpExceptionHandler: обработи # генерирани фатално изключение c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server прекратява този процес.<дата><време> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<дата, на която е><SPID # * да ЗАПОЧНЕ стека DUMP:<>><><2 дата><час><5 SPID # * ><6 дата><час><9 spid #><0 дата><час><3 SPID # *><4 дата><час><7 SPID # *><8 дата><време> spid # * изключение за адрес = 00000000009E4F2A модул (sqlservr + 00000000002D4F2A)<дата><час> SPID # * изключение на код = c0000005 EXCEPTION_ACCESS_VIOLATION<дата><> SPID # * нарушение на достъпа, настъпили за написването адрес 0000000000000000<дата><час> SPID # * входен буфер 510 байтове-<дата><час> SPID # * SQL_query_code
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 1 за SQL Server 2012 SP2 /en-us/help/2976982
Кумулативна актуализация 2 за SQL Server 2014 /en-us/help/2967546
Кумулативна актуализация 10 за SQL Server 2012 SP1 /en-us/help/2954099
Кумулативна актуализация 12 за SQL Server 2008 R2 SP2 /en-us/help/2938478
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
За да заобиколите проблема, не използвайте директно вмъкнатата/изтритата таблица в заявка, свързваща се с други таблици, вместо да я кеширате във временна таблица и да използвате таблицата Temp в заявката.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".