Sintomi
Supponiamo che tu crei una stored procedure nativamente compilata con una query che contiene un'espressione di grandi dimensioni con più di 256 operatori in Microsoft SQL Server 2014. Quando si prova a usare showplan_xml nella query o nella procedura, viene visualizzato il seguente messaggio di errore:
Msg 41322, livello 16, stato 33, procedura <sp_name>, linea <Line_number >Mat/Pit Export/Import ha riscontrato un errore per la tabella ottimizzata per la memoria o la stored procedure compilata in modo nativo con ID oggetto <numero di ID>nell'ID del database< numero di ID >. Il codice di errore è 0x88000015.
Causa
Il problema si verifica a causa di un difetto in SQL Server 2014.
Risoluzione
Dopo l'applicazione dell'hotfix, showplan_xml avrà esito positivo per la routine nativa con un numero elevato di operatori. Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 /en-us/help/2931693
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per risolvere il problema, usare le soluzioni alternative seguenti:
-
Suddividere le espressioni in più espressioni secondarie.
-
USA parentesi per forzare esplicitamente l'annidamento delle espressioni per creare una struttura ad albero dell'espressione ampia ma superficiale anziché un albero dell'espressione annidato in modo profondo.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".