CORRECÇÃO: Consulta Server vinculado pode retornar NULL se ele é realizado por um cursor de conjunto de chaves

Traduções deste artigo Traduções deste artigo
ID do artigo: 826860 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Erro nº: 470007 (SQL Server 8.0)
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Uma consulta de servidor vinculado pode retornar NULL para colunas no seu resultado definido se todas as seguintes condições forem verdadeiras:
  • A consulta é executada através de um cursor de conjunto de chaves.
  • OUTER JOIN é executada em tabelas 2 ou mais remotas.
  • Um nome de parte 4 é usado para cada tabela remota.
  • Todas as tabelas remotas relacionadas ao OUTER JOIN têm índices exclusivos.
  • Não há linhas são retornadas de tabelas internas da cláusula OUTER JOIN.
Por exemplo, suponha que você tenha os seguintes dados:
TableA
col1 col2
---- ----
   1    1

TableB
col1 col2
---- ----
   2    2
se você executar a consulta a seguir através de um cursor de conjunto de chaves, esse problema pode ocorrer:
SELECT * 
FROM rmtsvr.ownr.dbname.tableA A LEFT OUTER JOIN rmtsvr.ownr.dbname.tableB B
on A.col1=B.col1 and A.col2=B.col2

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre o hotfix

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   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

Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém esses arquivos também pode conter arquivos adicionais.


Observação Esse hotfix deve ser aplicado a um servidor local, não em um servidor remoto.

Como Contornar

Para contornar este problema, use um dos seguintes métodos:
  • Use um cursor estático em vez de um cursor de conjunto de chaves.
  • Use uma consulta passagem em vez de uma consulta de nome da parte 4. Para fazer isso, você pode usar um das seguintes funções do Transact-SQL:
    • OPENQUERY
    • OPENROWSET
  • Use uma consulta ad-hoc em vez de um cursor.
  • Se você puder, altere índices exclusivos para índices não exclusivos nas tabelas remotas. Esse procedimento altera o tipo de cursor para estático.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 4.

Mais Informações

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 826860 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 8.3
A informação contida neste artigo aplica-se a:
  • 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB826860 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 826860

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