FIX: Query di server collegati può restituire NULL se si è eseguito tramite un cursore Keyset

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: 826860
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
BUG #: 470007 (SQL Server 8.0)
Sintomi
Una query di server collegato potrebbe restituire NULL per colonne nel risultato se tutte le seguenti condizioni sono true:
  • La query viene eseguita tramite un cursore keyset.
  • Un OUTER JOIN viene eseguito su 2 o in remote più tabelle.
  • Un nome in 4 parti viene utilizzato per ogni tabella remota.
  • Tutte le tabelle remote correlati a OUTER JOIN hanno indici univoci.
  • Nessuna riga viene restituita dalle tabelle interne della clausola di OUTER JOIN.
Supponga di avere i seguenti dati:
TableAcol1 col2---- ----   1    1TableBcol1 col2---- ----   2    2
se si esegue la query seguente mediante un cursore keyset, questo problema può verificarsi:
SELECT * FROM rmtsvr.ownr.dbname.tableA A LEFT OUTER JOIN rmtsvr.ownr.dbname.tableB Bon A.col1=B.col1 and A.col2=B.col2
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

La versione di lingua inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e le ore per questi file sono indicati in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time    Version           Size     File name   --------------------------------------------------------------------   31-May-2003  18:45   2000.80.818.0     78,400   Console.exe   25-Jun-2003  01:01   2000.80.818.0     33,340   Dbmslpcn.dll   25-Apr-2003  02:12                    786,432   Distmdl.ldf   25-Apr-2003  02:12                  2,359,296   Distmdl.mdf   30-Jan-2003  01:55                        180   Drop_repl_hotfix.sql   23-Jun-2003  22:40   2000.80.837.0  1,557,052   Dtsui.dll   23-Jun-2003  22:40   2000.80.837.0    639,552   Dtswiz.dll   24-Apr-2003  02:51                    747,927   Instdist.sql   03-May-2003  01:56                      1,581   Inst_repl_hotfix.sql   08-Feb-2003  06:40   2000.80.765.0     90,692   Msgprox.dll   01-Apr-2003  02:07                      1,873   Odsole.sql   05-Apr-2003  01:46   2000.80.800.0     62,024   Odsole70.dll   07-May-2003  20:41   2000.80.819.0     25,144   Opends60.dll   07-May-2003  18:47                    132,096   Opends60.pdb   02-Apr-2003  21:48   2000.80.796.0     57,904   Osql.exe   02-Apr-2003  23:15   2000.80.797.0    279,104   Pfutil80.dll   04-Aug-2003  18:17                    550,780   Procsyst.sql   22-May-2003  22:57                     19,195   Qfe469571.sql   11-Jul-2003  17:04                  1,084,147   Replmerg.sql   04-Apr-2003  21:53   2000.80.798.0    221,768   Replprov.dll   08-Feb-2003  06:40   2000.80.765.0    307,784   Replrec.dll   11-Jul-2003  16:56                  1,085,925   Replsys.sql   29-Jul-2003  20:13   2000.80.819.0    492,096   Semobj.dll   31-May-2003  18:27   2000.80.818.0    172,032   Semobj.rll   05-Aug-2003  21:06                    127,884   Sp3_serv_uni.sql   01-Jun-2003  01:01   2000.80.818.0  4,215,360   Sqldmo.dll   07-Apr-2003  17:44                     25,172   Sqldumper.exe   19-Mar-2003  18:20   2000.80.789.0     28,672   Sqlevn70.rll   02-Jul-2003  00:18   2000.80.834.0    180,736   Sqlmap70.dll   08-Feb-2003  06:40   2000.80.765.0     57,920   Sqlrepss.dll   07-Aug-2003  19:11   2000.80.850.0  7,598,164   Sqlservr.exe   07-Aug-2003  19:11                 12,755,968   Sqlservr.pdb   25-Jul-2003  21:44   2000.80.845.0    590,396   Sqlsort.dll   08-Feb-2003  06:40   2000.80.765.0     45,644   Sqlvdi.dll   25-Jun-2003  01:01   2000.80.818.0     33,340   Ssmslpcn.dll   01-Jun-2003  01:01   2000.80.818.0     82,492   Ssnetlib.dll   01-Jun-2003  01:01   2000.80.818.0     25,148   Ssnmpn70.dll   01-Jun-2003  01:01   2000.80.818.0    158,240   Svrnetcn.dll   31-May-2003  18:59   2000.80.818.0     76,416   Svrnetcn.exe   30-Apr-2003  23:52   2000.80.816.0     45,132   Ums.dll   30-Apr-2003  23:52                    132,096   Ums.pdb   02-Jul-2003  00:19   2000.80.834.0     98,816   Xpweb70.dll   23-Jun-2003  22:40   2000.80.837.0  1,557,052   Dtsui.dll   23-Jun-2003  22:40   2000.80.837.0    639,552   Dtswiz.dll   02-Apr-2003  21:48   2000.80.796.0     57,904   Osql.exe   02-Apr-2003  23:15   2000.80.797.0    279,104   Pfutil80.dll   29-Jul-2003  20:13   2000.80.819.0    492,096   Semobj.dll   31-May-2003  18:27   2000.80.818.0    172,032   Semobj.rll   01-Jun-2003  01:01   2000.80.818.0  4,215,360   Sqldmo.dll   07-Apr-2003  17:44                     25,172   Sqldumper.exe   01-Jun-2003  01:01   2000.80.818.0    158,240   Svrnetcn.dll   31-May-2003  18:59   2000.80.818.0     76,416   Svrnetcn.exe
Nota A causa delle dipendenze fra i file, la funzionalità che contiene i file o l'aggiornamento rapido (hotfix) più recente può contenere anche ulteriori file.


Nota Questo aggiornamento rapido (hotfix) deve essere applicato a un server locale, non a un server remoto.
Workaround
Per ovviare al problema, utilizzare uno dei metodi descritti di seguito:
  • Utilizzare un cursore statico invece di un cursore keyset.
  • Utilizzare una query pass-through invece di una query nomi parte 4. A tale scopo, è possibile utilizzare una delle seguenti funzioni di Transact-SQL:
    • OPENQUERY
    • OPENROWSET
  • Consente di utilizzare una query ad hoc anziché un cursore.
  • Se possibile, modificare gli indici univoci non univoci indici in tabelle remote. In questo modo il tipo di cursore a statico.
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".Questo problema è stato innanzitutto corretto in SQL Server 2000 Service Pack 4.
Informazioni
Per ulteriori informazioni, 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

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 826860 - Ultima revisione: 02/26/2014 21:06:42 - Revisione: 8.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB826860 KbMtit
Feedback