Artigo: 929440 - Última revisão: terça-feira, 19 de Junho de 2007 - Revisão: 1.4

CORRECÇÃO: Mensagens de erro quando tenta actualizar as linhas da tabela ou Inserir tabela linhas numa tabela no SQL Server 2000: "644" ou "2511"

Está disponível transferência de hotfixDisponível transferência de hotfix
Ver e solicitar transferências de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
N.º de bugs: 50000580 (correcção SQL)

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve o seguinte sobre esta versão de correcção:
  • Problemas corrigidos por este pacote de correcções
  • Pré-requisitos para instalar o pacote de correcções
  • Informações sobre se tem de reiniciar o computador depois de instalar o pacote de correcção
  • Informações sobre se o pacote de correcções é substituído por qualquer outro pacote de correcção
  • Informações sobre se terá de efectuar quaisquer alterações de registo
  • Ficheiros contidos no pacote de correcção

Sintomas

Quando tenta actualizar as linhas da tabela ou inserir linhas da tabela para uma tabela do Microsoft SQL Server 2000, poderá receber uma mensagem de erro semelhante um dos seguintes procedimentos no ficheiro Errorlog do SQL Server 2000:
Mensagem de erro 1
Erro: 644, gravidade: 21, estado: 5
Não foi possível localizar a entrada de índice remissivo para RID ' Number ' na página de índice (IndexPage), índice de ID IndexID, base de dados 'TestDB'.
Mensagem de erro 2
Servidor: Erro 2511, nível de 16, estado 1, linha 1
Erro da tabela: ID do objecto Number, ID de índice remissivo IndexID. Chaves desordenadas na página (IndexPage), ranhuras 184 e 185.
notas
  • Se actualizar as linhas da tabela, este problema pode ocorrer porque uma operação de actualização é uma operação de eliminação seguida de uma operação de inserção.
  • Quando este problema ocorre, os dados SQL nas linhas de tabela não são perdidos. Em vez disso, as linhas da tabela são inseridas na tabela numa ordem incorrecta de acordo com a chave de índice.

Causa

Este problema ocorre caso se verifiquem as seguintes condições:
  • Quando o SQL Server insere as linhas da tabela, uma das páginas originais que contém a tabela é dividida em duas páginas para criar espaço suficiente para inserir as linhas da tabela.
  • Todas as linhas da tabela são ordenadas acordo com a uma chave de índice.
  • Ocorre o seguinte comportamento:
    • SQL Server tenta inserir as linhas de tabela na parte superior da página original será dividida.
    • Faz com a operação de inserção que as linhas da tabela na parte inferior metade da página original para mover para a nova página.
    • A chave de índice que é utilizada para ordenar as linhas da tabela faz com que a nova página para que uma sequência de ordenação que vem antes da página original.
    Nota Este comportamento é conhecido como uma divisão de página da esquerda.
  • Antes da página original é dividida em duas páginas, a página original contém registos fantasma.
  • O thread de limpeza do registo de ghost remove os registos fantasma da página original depois da página original é dividida em duas páginas. No entanto, o thread remove estes registos antes das linhas da tabela na parte inferior que metade da página original são movidos para a nova página.

Resolução

O programa de instalação não instala esta correcção correctamente em sistemas baseados em 64 x. Este problema de instalação ocorre quando se verificam as seguintes condições:
  • O sistema utiliza a arquitectura de processador AMD64 Advanced Micro Devices (AMD) ou a arquitectura de processador Intel Extended Memory 64 Technology (EM64T).

    Nota Este problema não ocorre em sistemas que utilizam a arquitectura de processador Intel Itanium.
  • O sistema está com uma versão de 64 bits do sistema operativo Microsoft Windows Server.
  • O sistema está com uma versão de 32 bits do SQL Server 2000.
A Microsoft corrigiu este problema de instalação em versões posteriores do SQL Server 2000, a partir da versão 8.00.2244. Quando um cliente que está a executar o SQL Server 2000 num sistema x 64 pede esta correcção, a Microsoft fornecerá uma compilação que inclui esta correcção e que pode ser instalado correctamente num sistema x 64. A compilação que fornecemos será versão 8.00.2244 ou uma versão posterior.

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Tem de ter o Microsoft SQL Server 2000 Service Pack 4 (SP4) instalado para aplicar esta correcção.

Para obter mais informações sobre como obter o SQL Server 2000 Service Pack 4, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211  (http://support.microsoft.com/kb/290211/ ) Como obter o SQL Server 2000 service pack mais recente

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações de registo

Não é necessário alterar o registo.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item Data e hora no painel de controlo.
Correcção do SQL Server 2000, 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
80sp4 tools.sqlNão aplicável134,62819-Fev-200601: 40Não aplicável
Distmdl.ldfNão aplicável786,43206-Dezembro de 200601: 28Não aplicável
Distmdl.mdfNão aplicável2,359,29606-Dezembro de 200601: 28Não aplicável
Dtsui.dll2000.80.2234.01,593,34406-Dezembro de 200601: 51x 86
Impprov.dll2000.80.2234.0102,40006-Dezembro de 200601: 51x 86
Instdist.SQLNão aplicável751,63329 De Novembro de 200615: 42Não aplicável
Msgprox.dll2000.80.2234.094,20806-Dezembro de 200601: 51x 86
Msrpjt40.dll4.10.9424.0188,47324 De Janeiro de 200608: 13x 86
Mssdi98.dll8.11.50523.0239,10406-Jun-200522: 46x 86
Ntwdblib.dll2000.80.2234.0290,81606-Dezembro de 200601: 51x 86
Odsole70.dll2000.80.2234.069,63206-Dezembro de 200601: 51x 86
OSQL.exe2000.80.2234.057,34405-Dezembro de 200623: 55x 86
Pfclnt80.dll2000.80.2234.0430,08006-Dezembro de 200601: 51x 86
Procsyst.SQLNão aplicável552,06817 De Junho de 200500: 15Não aplicável
Qrdrsvc.exe2000.80.2234.0192,51206-Dezembro de 200600: 00x 86
Replcom.SQLNão aplicável1,216,65905-Dezembro de 200623: 44Não aplicável
Replmerg.exe2000.80.2234.0163,84006-Dezembro de 200602: 00x 86
Replmerg.SQLNão aplicável1,151,52105-Dezembro de 200623: 44Não aplicável
Replprov.dll2000.80.2234.0237,56806-Dezembro de 200601: 51x 86
Replrec.dll2000.80.2234.0315,39206-Dezembro de 200601: 51x 86
Replsub.dll2000.80.2234.0270,33606-Dezembro de 200601: 51x 86
Replsys.SQLNão aplicável1,096,07501-Ago-200601: 21Não aplicável
Repltran.SQLNão aplicável1,000,69129 De Novembro de 200615: 42Não aplicável
Rinitcom.dll2000.80.2234.0278,52806-Dezembro de 200601: 51x 86
Semexec.dll2000.80.2234.0856,06406-Dezembro de 200601: 51x 86
Snapshot.exe2000.80.2234.061,44006-Dezembro de 200608: 00x 86
Sp4_serv_qfe.SQLNão aplicável18,81017 De Junho de 200500: 15Não aplicável
Sqlagent.exe2000.80.2234.0323,58405-Dezembro de 200623: 46x 86
Sqldiag.exe2000.80.2234.0118,78406-Dezembro de 200600: 28x 86
Sqldmo.dll2000.80.2234.04,362,24006-Dezembro de 200601: 51x 86
Sqldumper.exeNão aplicável22,52806-Dezembro de 200609: 00x 86
Sqlevn70.rll2000.80.2234.045,05606-Dezembro de 200601: 51Não aplicável
Sqlfth75.dll2000.80.2234.0102,40005-Dezembro de 200623: 54x 86
Sqlservr.exe2000.80.2234.09,175,04006-Dezembro de 200601: 49x 86
Sqlsort.dll2000.80.2234.0589,82406-Dezembro de 200601: 51x 86
Stardds.dll2000.80.2234.0176,12806-Dezembro de 200601: 51x 86
Svrnetcn.dll2000.80.2234.0110,59206-Dezembro de 200601: 51x 86
Ums.dll2000.80.2234.035,32806-Dezembro de 200601: 51x 86
Xpstar.dll2000.80.2234.0311,29606-Dezembro de 200601: 51x 86
Correcção do SQL Server 2000, 64 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
80sp4 tools.sqlNão aplicável134,62819-Fev-200601: 40Não aplicável
Distmdl.ldfNão aplicável786,43206-Dezembro de 200601: 28Não aplicável
Distmdl.mdfNão aplicável2,359,29606-Dezembro de 200601: 28Não aplicável
Dtsui.dll2000.80.2234.01,593,34406-Dezembro de 200601: 51x 86
Impprov.dll2000.80.2234.0102,40006-Dezembro de 200601: 51x 86
Instdist.SQLNão aplicável751,63329 De Novembro de 200615: 42Não aplicável
Msgprox.dll2000.80.2234.094,20806-Dezembro de 200601: 51x 86
Msrpjt40.dll4.10.9424.0188,47324 De Janeiro de 200608: 13x 86
Mssdi98.dll8.11.50523.0239,10406-Jun-200522: 46x 86
Ntwdblib.dll2000.80.2234.0290,81606-Dezembro de 200601: 51x 86
Odsole70.dll2000.80.2234.069,63206-Dezembro de 200601: 51x 86
OSQL.exe2000.80.2234.057,34405-Dezembro de 200623: 55x 86
Pfclnt80.dll2000.80.2234.0430,08006-Dezembro de 200601: 51x 86
Procsyst.SQLNão aplicável552,06817 De Junho de 200500: 15Não aplicável
Qrdrsvc.exe2000.80.2234.0192,51206-Dezembro de 200600: 00x 86
Replcom.SQLNão aplicável1,216,65905-Dezembro de 200623: 44Não aplicável
Replmerg.exe2000.80.2234.0163,84006-Dezembro de 200602: 00x 86
Replmerg.SQLNão aplicável1,151,52105-Dezembro de 200623: 44Não aplicável
Replprov.dll2000.80.2234.0237,56806-Dezembro de 200601: 51x 86
Replrec.dll2000.80.2234.0315,39206-Dezembro de 200601: 51x 86
Replsub.dll2000.80.2234.0270,33606-Dezembro de 200601: 51x 86
Replsys.SQLNão aplicável1,096,07501-Ago-200601: 21Não aplicável
Repltran.SQLNão aplicável1,000,69129 De Novembro de 200615: 42Não aplicável
Rinitcom.dll2000.80.2234.0278,52806-Dezembro de 200601: 51x 86
Semexec.dll2000.80.2234.0856,06406-Dezembro de 200601: 51x 86
Snapshot.exe2000.80.2234.061,44006-Dezembro de 200608: 00x 86
Sp4_serv_qfe.SQLNão aplicável18,81017 De Junho de 200500: 15Não aplicável
Sqlagent.exe2000.80.2234.0323,58405-Dezembro de 200623: 46x 86
Sqldiag.exe2000.80.2234.0118,78406-Dezembro de 200600: 28x 86
Sqldmo.dll2000.80.2234.04,362,24006-Dezembro de 200601: 51x 86
Sqldumper.exeNão aplicável22,52806-Dezembro de 200609: 00x 86
Sqlevn70.rll2000.80.2234.045,05606-Dezembro de 200601: 51Não aplicável
Sqlfth75.dll2000.80.2234.0102,40005-Dezembro de 200623: 54x 86
Sqlservr.exe2000.80.2234.09,175,04006-Dezembro de 200601: 49x 86
Sqlsort.dll2000.80.2234.0589,82406-Dezembro de 200601: 51x 86
Stardds.dll2000.80.2234.0176,12806-Dezembro de 200601: 51x 86
Svrnetcn.dll2000.80.2234.0110,59206-Dezembro de 200601: 51x 86
Ums.dll2000.80.2234.035,32806-Dezembro de 200601: 51x 86
Xpstar.dll2000.80.2234.0311,29606-Dezembro de 200601: 51x 86

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Para confirmar que tiver este problema, tem de fornecer as seguintes informações ao serviço de apoio a clientes da Microsoft:
  • Determine o número de página ou números de página das mensagens de erro mencionadas na secção "Sintomas". Os números de página estão disponíveis nos ficheiros de SQL Server Errorlog e no registo de eventos de aplicações do Windows.
  • Obtenha uma cópia de um transacção cópia de segurança ficheiro de registo que abrange o tempo durante o qual a página foi utilizada pela primeira vez. Normalmente, este ficheiro de cópia de segurança de registo de transacções é o seguinte transacção cópia de segurança ficheiro de registo que foi criado depois de receber primeiro as mensagens de erro mencionadas na secção "Sintomas".
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbautohotfix kbtshoot kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB929440 KbMtpt
Tradução automáticaTraduçã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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 929440  (http://support.microsoft.com/kb/929440/en-us/ )