Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) in un unico file scaricabile. Dato che le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione di aggiornamento precedente di SQL Server 2008 R2 Service Pack 1 (SP1).
Sintomi
Considerare lo scenario descritto di seguito:
-
Si ha un'applicazione client che esegue una query in Microsoft SQL Server 2008 R2 o in Microsoft SQL Server 2012.
-
La query usa la clausola for XML nella modalità path .
-
La query esegue il comando SET NO_BROWSETABLE on per abilitare l'impostazione NO_BROWSETABLE .
In questo scenario, la query non viene eseguita. Inoltre, viene visualizzato il messaggio di errore seguente nell'applicazione client e viene generato un file di minidump nel log degli errori SQL.
Msg 0, livello 11, stato 0, errore di linea 0A grave si è verificato il comando corrente. I risultati, se presenti, devono essere eliminati. Msg 0, livello 20, stato 0, errore di linea 0A grave si è verificato il comando corrente. I risultati, se presenti, devono essere eliminati.
Note
-
Un piano di query usato per eseguire la query non viene compilato.
-
Non ci sono eventi del profiler per la query non riuscita quando si avvia il profilo di SQL Server.
-
Quando si verifica questo problema, il servizio SQL Server si arresta in modo intermittente.
Causa
Questo problema si verifica a causa di un errore interno in SQL Server algebrizer. Questo problema si verifica quando SQL Server tenta di aggiungere colonne che vengono estratte da un lato di un nodo operatore di join all'altro lato del nodo operatore join. Di conseguenza, un albero di algebrizer non valido viene creato perché le colonne definite in un lato del nodo dell'operatore di join non sono visibili sull'altro lato del nodo operatore join.
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2012
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 3 per SQL Server 2012. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2723749 Pacchetto di aggiornamento cumulativo 3 per SQL Server 2012Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2012 FIX. Microsoft consiglia di applicare l'ultima versione di correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2692828 Build di SQL Server 2012 rilasciate dopo il rilascio di SQL Server 2012 È necessario applicare un hotfix di SQL Server 2012 a un'installazione di SQL Server 2012.
SQL Server 2008 R2 Service Pack 2
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 2. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2720425 Pacchetto di aggiornamento cumulativo 1 per SQL Server 2008 R2 Service Pack 2Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2730301 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 2
Pacchetto di aggiornamento cumulativo 7 per SQL Server 2008 R2 SP1
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 7 per SQL Server 2008 R2 Service Pack 1. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2703282 Pacchetto di aggiornamento cumulativo 6 per SQL Server 2008 R2 SP1Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Microsoft consiglia di applicare l'ultima versione di correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2567616 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 SP1 Gli hotfix di Microsoft SQL Server 2008 R2 vengono creati per specifici Service Pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 R2 Service Pack 1 a un'installazione di SQL Server 2008 R2 Service Pack 1. Per impostazione predefinita, qualsiasi hotfix fornito in un Service Pack di SQL Server è incluso nel prossimo Service Pack di SQL Server.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Soluzione alternativa
Per risolvere il problema, usare uno dei metodi seguenti.
Metodo 1
Non usare la clausola for XML nella modalità path .
Metodo 2
Eseguire il comando seguente per disabilitare l'impostazione NO_BROWSETABLE :
IMPOSTARE NO_BROWSETABLE DISATTIVATO
Riferimenti
Per altre informazioni sulla modalità di visualizzazione, visitare il sito Web MSDN seguente:
Informazioni generali sulla modalità di visualizzazionePer altre informazioni su come usare la modalità PATH con la clausola FOR XML, visitare il sito Web MSDN seguente: