FIX: Risultati incoerenti quando si esegue una query complessa che utilizza l'operatore APPLY in SQL Server 2008 R2

Traduzione articoli Traduzione articoli
Identificativo articolo: 2428310 - Visualizza i prodotti a cui si riferisce l?articolo.
Microsoft distribuisce aggiornamenti di Microsoft SQL Server 2008 R2 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 R2 precedente correggere versione.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

In Microsoft SQL Server 2008 R2, potresti ricevere risultati incoerenti quando si esegue una query complessa che utilizza ilAPPLICAREoperatore.

NotaViene visualizzato il risultato corretto in questo scenario, se si utilizza ilIMPONI ORDINESuggerimento per la query in una query.

Cause

Questo problema si verifica poiché query optimizer sceglie un piano di esecuzione non corretta per la query.

I punti di manipolazione di query optimizer laRAGGRUPPA PERpredicato per più colonne di un operatore fisico del piano di esecuzione. Tuttavia, l'operatore restituisce tutte le colonne raggruppate nell'elenco di output e non raggruppare tali colonne. Pertanto la query potrebbe restituire un risultato non corretto.

NotaUn esempio di un operatore fisico è ilFlusso aggregatooperatore.

Ad esempio, query optimizer genera unGROUP BY ColA, ColBclausola internamente a fronte della tabella seguente:
Riduci questa tabellaEspandi questa tabella
ColAColB
00
01
Query optimizer non corretto può generare un piano di esecuzione restituisce entrambi iColAeColBcolonne. Queste colonne vengono raggruppate in base alColAcolonna nell'elenco di output. In questo esempio, la query potrebbe restituire in modo casuale0oppure1nelColBcolonna se i valori diColAcolonna sono0.

Risoluzione

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata prima in 5 aggiornamento cumulativo. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
2438347Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 R2
NotaPoiché le generazioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 R2 precedente correggere versione. Si consiglia di considerare l'applicazione alla versione più recente di correzione contenente questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
981356SQL Server 2008 R2 versioni rilasciate dopo il rilascio di SQL Server 2008 R2

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Informazioni

Per verificare che si sta verificando questo problema, esaminare il piano di esecuzione della query problematica e quindi verificare gli operatori del gruppo. Controllare, ad esempio, l'operatore di aggregazione del flusso, l'operatore di aggregazione hash, l'operatore distinct sort e l'operatore del segmento. Se l'elenco delle colonne di output supera l'elenco delle colonne raggruppate, si sta verificando questo problema.

Riferimenti

Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
935897Un modello di manutenzione incrementale è disponibile dal team di SQL Server per distribuire le correzioni per i problemi segnalati
Per ulteriori informazioni sullo schema di denominazione degli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server
Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

Identificativo articolo: 2428310 - Ultima modifica: venerdì 31 dicembre 2010 - Revisione: 2.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Chiavi: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2428310 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2428310
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com