Symptomy
Załóżmy, że utworzono procedurę składowaną w sposób macierzysty, zawierającą zapytanie, które zawiera duże wyrażenie zawierające więcej niż 256 operatorów w programie Microsoft SQL Server 2014. Podczas próby użycia showplan_xml w zapytaniu lub procedurze jest wyświetlany następujący komunikat o błędzie:
Msg 41322, Level 16, State 33, PROCEDURE <sp_name>, wiersz <line_number>mat/"w przypadku eksportu/importu" Wystąpił błąd dotyczący tabeli zoptymalizowanej pod kątem pamięci lub procedury składowanej skompilowanej z identyfikatorem obiektu< numerem ID>w IDENTYFIKATORze bazy danych <numer identyfikacyjny >. Kod błędu został 0x88000015.
Przyczyna
Ten problem występuje z powodu wady programu SQL Server 2014.
Rozwiązanie
Po zastosowaniu poprawki showplan_xml odniesie się do procedury natywnej zawierającej dużą liczbę operatorów. Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 1 dla programu SQL Server 2014 /en-us/help/2931693
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Obejście
Aby obejść ten problem, Skorzystaj z poniższych obejść:
-
Podziel wyrażenia na wiele wyrażeń podrzędnych.
-
Użyj nawiasów, aby jawnie wymusić zagnieżdżanie wyrażeń w celu utworzenia szerokiego, ale wieloznacznego drzewa wyrażeń zamiast głęboko zagnieżdżonego drzewa wyrażeń.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".