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

FIX: Query di unione restituisce messaggio di errore del processore di query interno 8623

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: 286255
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 351259 (RIFERIMENTO)
Sintomi
Un'istruzione di query potrebbe non riuscire con messaggio di errore 8623 se vengono soddisfatte le condizioni seguenti:
  • La query utilizza la clausola UNION.

  • Uno delle istruzioni SELECT nella query UNION dispone di una clausola WHERE che fa riferimento a una sottoquery tramite una clausola IN.

  • Query optimizer sceglie un join di loop per risolvere la query.
Il testo completo del messaggio di errore è:
Server: Messaggio 8623, livello 16, stato 1, riga 1 errore Query Processor interno: la query processor non è in grado di generare un piano di query. Contattare il provider di servizio di supporto per ulteriori informazioni.
Risoluzione

Informazioni sul Service pack

Per risolvere il problema, ottenere il service pack più recente per Microsoft SQL Server 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
290211Come ottenere il service pack più recente per SQL Server 2000

Informazioni sull'hotfix

È disponibile un hotfix supportato. Questo hotfix è tuttavia destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Consente di applicare questo aggiornamento rapido (hotfix) solo ai sistemi in cui si verifica questo problema specifico.

Se l'hotfix è disponibile per il download, è una sezione "Hotfix disponibile per il download" all'inizio di questo articolo della Knowledge Base. Se non viene visualizzato in questa sezione, inviare una richiesta di servizio clienti Microsoft e supporto tecnico per ottenere l'hotfix.

Nota Se si verificano ulteriori problemi o se la risoluzione dei problemi è necessario, potrebbe essere necessario creare una richiesta di servizio separato. I costi di supporto normale verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico hotfix in questione. Per un elenco completo, di Microsoft Customer Service and Support numeri di telefono o a creare una richiesta di servizio distinto, visitare il seguente sito Web Microsoft: Nota Il modulo "Hotfix disponibile per il download" Visualizza le lingue per cui è disponibile l'aggiornamento rapido. Se non viene visualizzata la lingua, è perché un aggiornamento rapido (hotfix) non è disponibile per tale lingua.La versione inglese di questa correzione deve essere di avere i seguenti attributi di file o versioni successive:
   Date         Time     Version    Size      File name      Platform   -------------------------------------------------------------------   01/13/2001   12:52a   8.00.240   7446589   Sqlservr.exe   Intel				
Nota : a causa di dipendenze tra i file, la funzionalità che contiene i file precedenti o l'aggiornamento rapido (hotfix) più recente potrebbe includere anche file aggiuntivi.
Workaround
Per risolvere il problema:
  • Riscrivere l'istruzione della query e utilizzare un join anziché subquery clausola IN.

    - oppure -

  • Utilizzare l'hint di ottimizzazione OPTION per forzare un hash union. La query di esempio nella sezione "Informazioni" si modificherà per:

    SELECT P.EMP_NO, N.ADJ_SCON  FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N  WHERE  E.EMP_NO = P.EMP_NO AND         N.EMP_NO = E.EMP_NO AND         P.JOB_ID = 25 AND         N.PAYRUN_NO = 0  UNION  SELECT P.EMP_NO, ''  FROM   BATCH_EMPEE P, EMPLOYEE E  WHERE  E.EMP_NO = P.EMP_NO AND         P.JOB_ID = 25 AND         E.EMP_NO NOT IN             (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)  OPTION (HASH UNION)					
Status
Microsoft ha confermato che questo è un problema di SQL Server 2000. Il problema è stato risolto nel Service Pack 1 per SQL Server 2000.
Informazioni
La query riportata di seguito è un esempio per un'istruzione che potrebbe portare a messaggio di errore 8623:
SELECT P.EMP_NO, N.ADJ_SCON  FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N  WHERE  E.EMP_NO = P.EMP_NO AND         N.EMP_NO = E.EMP_NO AND         P.JOB_ID = 25 AND         N.PAYRUN_NO = 0  UNION  SELECT P.EMP_NO, ''  FROM   BATCH_EMPEE P, EMPLOYEE E  WHERE  E.EMP_NO = P.EMP_NO AND         P.JOB_ID = 25 AND         E.EMP_NO NOT IN             (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)				
Messaggio di errore 8623

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 286255 - Ultima revisione: 02/24/2014 05:57:54 - Revisione: 4.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition

  • kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbbug kbfix kbqfe KB286255 KbMtit
Feedback