CORRECÇÃO: Mensagem de erro: "informações de coluna de chave insuficiente para atualizar" ocorre no SQL Server 2000 SP3

Traduções deste artigo Traduções deste artigo
ID do artigo: 814893 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
CPR - SQL 2000 - Hotfix no SP4
BUG #: 364087 (SHILOH_BUGS)
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Depois de aplicar um dos seguintes
  • O hotfix descrito no
    321541CORRECÇÃO: O SQL Server pode retornar incorreto resultados ao usar uma associação externa e um modo de exibição
    em um computador que esteja executando o Microsoft SQL Server 2000 Service Pack 2 (SP2).
  • O hotfix de segurança descrito no Microsoft Security Bulletin MS02-061 para o Microsoft SQL Server 2000 SP2.
  • Microsoft SQL Server 2000 Service Pack 3 (SP3).
Você pode receber a seguinte mensagem de erro:
Informações de coluna de chave insuficiente para atualização.

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 são listadas na acordo hora universal coordenada (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
   ------------------------------------------------------------------
   08-Feb-2003  05:43                    786,432 bytes  Distmdl.ldf
   08-Feb-2003  05:43                  2,359,296 bytes  Distmdl.mdf
   01-Feb-2003  00:32  2000.80.763.0   1,557,052 bytes  Dtsui.dll        
   30-Jan-2003  05:18                    746,470 bytes  Instdist.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   08-Feb-2003  03:53                  1,065,895 bytes  Replmerg.sql
   08-Feb-2003  06:40  2000.80.765.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   30-Jan-2003  05:18                  1,084,318 bytes  Replsys.sql
   08-Feb-2003  06:40  2000.80.765.0     176,696 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   15-Feb-2003  02:52  2000.80.769.0   7,512,145 bytes  Sqlservr.exe     
   15-Feb-2003  02:52                 12,715,008 bytes  Sqlservr.pdb
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   08-Feb-2003  06:40  2000.80.765.0      82,492 bytes  Ssnetlib.dll     
				
Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém os arquivos também pode conter arquivos adicionais.

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

O hotfix discutido neste artigo regresses a correção descrita no seguinte artigo da Base de dados de Conhecimento Microsoft:
321541CORRECÇÃO: SQL Server pode retornar resultados incorretos ao usar uma associação externa e um modo de exibição


Observação Para fazer o hotfix discutido neste artigo operacional, você deve ativar o sinalizador de traço - T220 e reinicie o SQL Server.

Para ativar o sinalizador de rastreamento, execute estas etapas:
  1. Abra o SQL Enterprise Manager no servidor.
  2. Clique para selecionar o servidor que está apresentando o problema.
  3. Clique o servidor com o botão direito do mouse e, em seguida, clique em Propriedades .
  4. Na guia Geral , clique em inicialização parâmetros .
  5. Na caixa de diálogo Parâmetros de inicialização , digite -T220 e em seguida, clique em Adicionar .
  6. Clique em OK .
  7. Pare e reinicie o serviço MSSQLSERVER reinicie o SQL Server.

Um exemplo do problema e que o sinalizador de rastreamento - T220 segue.
O exemplo usa duas tabelas de exemplo chamadas Test_Table1 e Test_Table2 . Considere as seguintes tabelas e modo de exibição:
CREATE TABLE TEST_TABLE1 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 

CREATE TABLE TEST_TABLE2 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 
go
CREATE VIEW dbo.TEST_VIEW 
AS 
SELECT CODE, 
UPPER(DESCRIPTION) AS DESCRIPTION, 
ISNULL(UPPER(DESCRIPTION), 'DEFAULT') DESCRIPTION_DEF 
FROM dbo.TEST_TABLE2 
go
Agora, execute este código:
DECLARE cc CURSOR FOR 
SELECT TEST_TABLE1.CODE, TEST_VIEW.DESCRIPTION, TEST_VIEW.DESCRIPTION_DEF 
FROM TEST_TABLE1 LEFT OUTER JOIN TEST_VIEW 
ON TEST_VIEW.CODE = TEST_TABLE1.CODE 
FOR UPDATE
  • Para versões do SQL Server 2000 anteriores ao SQL Server 2000 SP2, com o hotfix de segurança discutida no Microsoft Security Bulletin MS02-061 instalado, o código executa com êxito.
  • Para todas as versões de SQL Server 2000 depois de SQL Server 2000 SP2, com o hotfix de segurança discutida no Microsoft Security Bulletin MS02-061 instalado, o código não é executado com êxito.
  • Para versões do SQL Server 2000 8.00.0769 e posteriormente, quando você usar sinalizador de rastreamento - T220 ou DBCC traceon (220), o código executa com êxito.
Observe também que a instrução SELECT não fornece o mesmo resultado.
  • Para versões do SQL Server 2000 anteriores ao SQL Server 2000 SP2, com o hotfix de segurança discutida no Microsoft Security Bulletin MS02-061 instalado ou postagem 8.00.0769 com sinalizador de rastreamento 220, o resultado é semelhante ao:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               DEFAULT
    
    
  • Para versões do SQL Server 2000 depois de SQL Server 2000 SP2, com o hotfix de segurança discutida no Microsoft Security Bulletin MS02-061 instalado, o resultado é semelhante ao:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               NULL
    

Propriedades

ID do artigo: 814893 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 4.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Service Pack 3
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814893 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: 814893

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