Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: Un'operazione di inserimento per una tabella temporanea ha un vincolo di chiave esterna non riesce quando il piano di esecuzione per l'istruzione INSERT contiene un'operazione di join di tipo merge in SQL Server 2005

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

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: 977100
Microsoft distribuisce le correzioni di Microsoft SQL Server 2005 come un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutte le correzioni rapide e rilascio di correggere tutte le correzioni di protezione che erano incluse nelle precedenti SQL Server 2005.
Sintomi
Si consideri lo scenario seguente:
  • In SQL Server 2005, si dispone di una tabella ha un vincolo di chiave esterna.
  • Si esegue un'istruzione INSERT per inserire il numero di righe in questa tabella.
  • Il piano di esecuzione per l'istruzione INSERT contiene un'operazione join di unione.
In questo scenario, l'operazione di inserimento potrebbe non riuscire. Inoltre, viene visualizzato il seguente messaggio di errore:
Errore: 547 gravità: 16, stato: 0
L'istruzione INSERT è in conflitto con il vincolo FOREIGN KEY "< chiave esterna >".
Si è verificato il conflitto nel database "< nome database >", "< nome tabella >" della tabella, colonna '< nome colonna >'
Cause
L'operazione join di unione si aspetta di ricevere le righe vengono ordinate in base alle colonne di join. In caso menzionato nella sezione "Sintomi", tuttavia, l'operazione join di unione non riceve le righe inserite nell'ordine corretto. Questo problema si verifica perché il piano di esecuzione legge nuove righe di un indice le cui chiavi corrispondono alle colonne join. Tuttavia, SQL Server legge l'indice nell'ordine di allocazione anziché in ordine di chiave.
Risoluzione
Innanzitutto, la correzione di questo problema è stata rilasciata nell'aggiornamento cumulativo 7 per SQL Server 2005 Service Pack 3. Per ulteriori informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
976951Pacchetto di aggiornamento cumulativo 7 per SQL Server 2005 Service Pack 3
Nota Poiché le generazioni sono cumulative, ogni nuova versione di correzione contiene tutti gli aggiornamenti rapidi e rilascio di correggere tutte le correzioni di protezione che erano incluse nelle precedenti SQL Server 2005. Si consiglia di considerare l'applicazione alla versione più recente di correzione che contiene questo aggiornamento rapido (hotfix). Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
960598Versioni di SQL Server 2005 rilasciate dopo il rilascio di SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005 gli hotfix vengono creati per specifici i service pack di SQL Server. È necessario applicare un hotfix di SQL Server 2005 Service Pack 3 per un'installazione di SQL Server 2005 Service Pack 3. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel successivo service pack di SQL Server.
Workaround
Per ovviare al problema, utilizzare uno dei metodi descritti di seguito.

Metodo 1

Applicare un hint di query JOIN di LOOP per disattivare l'operazione join di unione.

Metodo 2

Aggiungere una clausola ORDER BY esplicita per ordinare le righe delle colonne chiave dell'indice che si sta digitalizzando.
Status
Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".
Informazioni
Dopo avere applicato l'aggiornamento rapido (hotfix), nell'ordine di chiave verrà letta l'indice.
Riferimenti
Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
935897Un modello di manutenzione incrementale è disponibile dal team di SQL Server per recapitare gli aggiornamenti rapidi per i problemi segnalati
Per ulteriori informazioni su come ottenere SQL Server 2005 Service Pack 3, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
913089Come ottenere il service pack più recente per SQL Server 2005
Per ulteriori informazioni sulle nuove funzionalità e i miglioramenti apportati in SQL Server 2005 Service Pack 3, visitare il seguente sito Web Microsoft: Per ulteriori informazioni sullo schema di denominazione degli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
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 riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

ID articolo: 977100 - Ultima revisione: 12/24/2009 09:53:00 - Revisione: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems

  • kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB977100 KbMtit
Feedback