Microsoft distribuisce Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1 per risolvere un file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 Service Pack 1 o SQL Server 2008 R2 Fix.

Sintomi

Quando si esegue un'istruzione INSERT SELECT Union All in sql Server 2008 o in sql Server 2008 R2, il risultato dell'istruzione potrebbe non essere corretto se una tabella di origine della clausola SELECT viene usata come tabella di destinazione della clausola Insert . Ad esempio, è possibile eseguire le istruzioni seguenti per creare quattro tabelle:

CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME) Si inseriscono alcuni valori nelle tabelle Taba, tabbye TABD e quindi si esegue l'istruzione INSERT SELECT Union All seguente:

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GOIn questo scenario vengono visualizzati risultati non corretti e alcuni record non vengono inseriti correttamente nella tabella tABC .

Risoluzione

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 Service Pack 3

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 3. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

2617146 Pacchetto di aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 3Nota 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 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:

2629969 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 3 Microsoft SQL Server 2008 hotfix vengono creati per specifici Service Pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 3 a un'installazione di SQL Server 2008 Service Pack 3. Per impostazione predefinita, qualsiasi hotfix fornito in un Service Pack di SQL Server è incluso nel prossimo Service Pack di SQL Server.

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata per la prima volta nell'aggiornamento cumulativo 9. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

2567713 Pacchetto di aggiornamento cumulativo 9 per SQL Server 2008 R2 Nota 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:

981356 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 2 per SQL Server 2008 R2 Service Pack 1. 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:

2567714 Pacchetto di aggiornamento cumulativo 2 per SQL Server 2008 R2 Service Pack 1Nota 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:

2567616 Le build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2 Service Pack 1

SQL Server 2008 Service Pack 2

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 5 per SQL Server 2008 Service Pack 2. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

2555408 Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 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 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:

2402659 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 2 Microsoft SQL Server 2008 hotfix vengono creati per specifici Service Pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 2 a un'installazione di SQL Server 2008 Service Pack 2. Per impostazione predefinita, qualsiasi hotfix fornito in un Service Pack di SQL Server è incluso nel prossimo Service Pack di SQL Server.

Aggiornamento cumulativo 14 di SQL Server 2008 Service Pack 1

La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 14 per SQL Server 2008 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:

2527187 Pacchetto di aggiornamento cumulativo 14 per SQL Server 2008 Service Pack 1Nota 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 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:

970365 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1 Microsoft SQL Server 2008 hotfix vengono creati per specifici Service Pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 a un'installazione di SQL Server 2008 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".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Come valuti la qualità della traduzione?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×