CORRECÇÃO: A operação de recuperação automática da base de dados SQL Server 2000 pode não ter êxito se um índice remissivo contém um tipo de dados FLOAT ou um tipo de dados REAL e este tipo de dados contiver um valor NaN

Traduções de Artigos Traduções de Artigos
Artigo: 900335 - Ver produtos para os quais este artigo se aplica.
Microsoft distribui correcções SQL Server 2000 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2000 anteriores corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

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

Sintomas

Quando inicia o Microsoft SQL Server 2000, o mecanismo de recuperação automática da base de dados SQL Server 2000 verifica a consistência de cada base de dados.

Se um índice remissivo contém um tipo de dados FLOAT ou um tipo de dados REAL e este tipo de dados contiver um valor de (NaN) não um número, a operação de recuperação automática da base de dados SQL Server 2000 poderá não ter êxito. Nesta situação, a base de dados fica indisponível para acesso de utilizador.

Resolução

Para obter uma lista de todas as publicamente disponibilizadas SQL Server 2000 Post-Service Pack 3a correcções, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
810185Actualização de correcção do SQL Server 2000 para o SQL Server 2000 Service Pack 3 e 3a
Nota Esta correcção está disponível para o SQL Server 2000 Service Pack 3 e para o SQL Server 2000 Service Pack 4.

Nota A correcção impede a inserção e actualização de uma coluna de tipo real ou de uma coluna de tipo de vírgula flutuante que é indexado e que contém um valor NaN. A correcção não irá corrigir o problema se já ter tido. Neste caso, a correcção não funciona porque não é possível ordenar todos os valores de NaN.

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
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

  • Versão de Microsoft SQL Server 2000 Service Pack 3 (SP3) desta correcção requer o SP3 e do plano base correcção 8.00.1007.
  • Microsoft SQL Server 2000 Service Pack 4 (SP4) versão desta correcção requer o SP4.

Para obter mais informações sobre como obter o SQL Server 2000 Service Pack 3 e o SQL Server 2000 Service Pack 4, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como 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 efectuar quaisquer alterações de registo depois de aplicar esta correcção.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir o problema explicado 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 na ferramenta Data e hora no painel de controlo.
Versões de 32 bits do SQL Server 2000 Service Pack 3
   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   15-Apr-2005  01:07  6.1.9.0            15,872  Spupdsvc.exe
   31-May-2005  22:58                      3,842  Tempcatsign.cdf
   31-May-2005  22:41  2000.80.1027.0    664,128  Autoplt.dll
   31-May-2005  22:41  2000.80.1027.0     78,400  Console.exe
   31-May-2005  22:41  2000.80.1027.0    332,352  Ctasksui.dll
   31-May-2005  22:41  2000.80.1027.0    315,968  Custtask.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Dbmslpcn.dll
   15-Apr-2005  01:17                    786,432  Distmdl.ldf
   15-Apr-2005  01:17                  2,359,296  Distmdl.mdf
   15-Apr-2005  01:17                        180  Drop_repl_hotfix.sql
   31-May-2005  22:41  2000.80.1027.0  1,905,216  Dtspkg.dll
   31-May-2005  22:41  2000.80.1027.0    528,960  Dtspump.dll
   31-May-2005  22:41  2000.80.1027.0  1,557,052  Dtsui.dll
   31-May-2005  22:41  2000.80.1027.0    639,552  Dtswiz.dll
   31-May-2005  22:41  2000.80.1027.0    102,992  Impprov.dll
   15-Apr-2005  01:17                    747,927  Instdist.sql
   15-Apr-2005  01:17                      1,581  Inst_repl_hotfix.sql
   31-May-2005  22:41  2000.80.1027.0    352,828  Isqlw.exe
   31-May-2005  22:41  2000.80.1027.0     82,492  Itwiz.exe
   31-May-2005  22:41  2000.80.1027.0     90,692  Msgprox.dll
   15-Apr-2005  00:59  8.11.41022.0      226,304  Mssdi98.dll
   31-May-2005  22:41  2000.80.1027.0     62,024  Odsole70.dll
   31-May-2005  22:42  2000.80.1027.0     25,144  Opends60.dll
   31-May-2005  22:41  2000.80.1027.0     57,904  Osql.exe
   31-May-2005  22:41  2000.80.1027.0    279,104  Pfutil80.dll
   15-Apr-2005  01:13                    551,012  Procsyst.sql
   15-Apr-2005  01:17                     12,305  Qfe469315.sql
   15-Apr-2005  01:17                     19,195  Qfe469571.sql
   15-Apr-2005  01:17                      5,157  Qfe472197.sql
   31-May-2005  22:41  2000.80.1027.0    143,940  Qrdrsvc.exe
   31-May-2005  21:38                  1,136,160  Replmerg.sql
   31-May-2005  22:41  2000.80.1027.0    221,768  Replprov.dll
   31-May-2005  22:41  2000.80.1027.0    307,784  Replrec.dll
   31-May-2005  21:40  2000.80.1027.0    159,813  Replres.rll
   15-Apr-2005  01:17                  1,088,240  Replsys.sql
   15-Apr-2005  01:17                    986,746  Repltran.sql
   15-Apr-2005  01:17                         55  Repl_uninstall.sql
   31-May-2005  22:41  2000.80.1027.0    287,304  Rinitcom.dll
   31-May-2005  22:41  2000.80.1027.0     78,416  Sdiclnt.dll
   31-May-2005  22:41  2000.80.1027.0    823,872  Semexec.dll
   31-May-2005  22:41  2000.80.1027.0     66,112  Semmap.dll
   31-May-2005  22:41  2000.80.1027.0     57,916  Semnt.dll
   31-May-2005  22:41  2000.80.1027.0    492,096  Semobj.dll
   31-May-2005  22:05  2000.80.1027.0    172,032  Semobj.rll
   31-May-2005  22:41  2000.80.1027.0     53,832  Snapshot.exe
   15-Apr-2005  01:13                    125,540  Sp3_serv_uni.sql
   31-May-2005  22:40  2000.80.1027.0     28,672  Sqlagent.dll
   31-May-2005  22:41  2000.80.1027.0    311,872  Sqlagent.exe
   31-May-2005  22:40  2000.80.1027.0    168,001  Sqlakw32.dll
   31-May-2005  22:41  2000.80.1027.0     33,344  Sqlctr80.dll
   31-May-2005  22:41  2000.80.1027.0  4,215,360  Sqldmo.dll
   31-May-2005  22:41                     25,172  Sqldumper.exe
   31-May-2005  21:38  2000.80.1027.0     28,672  Sqlevn70.rll
   31-May-2005  22:41  2000.80.1027.0    156,224  Sqlmaint.exe
   31-May-2005  22:41  2000.80.1027.0    180,792  Sqlmap70.dll
   31-May-2005  22:41  2000.80.1027.0    188,992  Sqlmmc.dll
   31-May-2005  21:52  2000.80.1027.0    479,232  Sqlmmc.rll
   31-May-2005  22:41  2000.80.1027.0    401,984  Sqlqry.dll
   31-May-2005  22:41  2000.80.1027.0     57,920  Sqlrepss.dll
   31-May-2005  22:41  2000.80.1027.0  7,721,041  Sqlservr.exe
   31-May-2005  22:41  2000.80.1027.0    590,396  Sqlsort.dll
   31-May-2005  22:41  2000.80.1027.0     45,644  Sqlvdi.dll
   31-May-2005  22:41  2000.80.1027.0    106,588  Sqsrvres.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmsgnet.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmslpcn.dll
   31-May-2005  22:41  2000.80.1027.0     33,340  Ssmsqlgc.dll
   31-May-2005  22:41  2000.80.1027.0     82,492  Ssnetlib.dll
   31-May-2005  22:41  2000.80.1027.0     25,148  Ssnmpn70.dll
   31-May-2005  22:41  2000.80.1027.0    123,456  Stardds.dll
   31-May-2005  22:41  2000.80.1027.0    158,268  Svrnetcn.dll
   31-May-2005  22:41  2000.80.1027.0     76,416  Svrnetcn.exe
   31-May-2005  22:41  2000.80.1027.0     49,228  Ums.dll
   31-May-2005  22:41  2000.80.1027.0     74,304  Xplog70.dll
   31-May-2005  22:41  2000.80.1027.0     98,872  Xpweb70.dll
   31-May-2005  22:41  2000.80.1027.0     57,904  Osql.exe
   15-Apr-2005  01:07  1.0.97.0          941,056  Sqlstpcustomdll.dll
   15-Apr-2005  01:07                     23,040  Sqlstpcustomdll.rll
   15-Apr-2005  01:07  6.1.9.0           344,576  Updspapi.dll
Versão de 64 bits do SQL Server 2000 Service Pack 3
   Date         Time   Version         Size        File name      Platform
   -----------------------------------------------------------------------
   31-May-2005  22:49  2000.80.1027.0      56,832  Dbmslpcn.dll   IA-64
   31-May-2005  21:52  2000.80.1027.0     528,960  Dtspump.dll    x86
   31-May-2005  21:55  2000.80.1027.0     244,736  Impprov.dll    IA-64
   31-May-2005  22:54  2000.80.1027.0     185,856  Msgprox.dll    IA-64
   31-May-2005  22:52  2000.80.1027.0     150,528  Odsole70.dll   IA-64
   31-May-2005  22:49  2000.80.1027.0      27,136  Opends60.dll   IA-64
   31-May-2005  22:52                      19,880  Opends60.lib
   31-May-2005  22:51  2000.80.1027.0     148,992  Osql.exe       IA-64
   31-May-2005  21:57  2000.80.1027.0     353,280  Qrdrsvc.exe    IA-64
   31-May-2005  23:01  2000.80.1027.0     535,552  Replprov.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0     769,024  Replrec.dll    IA-64
   31-May-2005  23:09  2000.80.1027.0     650,240  Rinitcom.dll   IA-64
   31-May-2005  23:04  2000.80.1027.0     160,768  Semmap.dll     IA-64
   31-May-2005  23:04  2000.80.1027.0     132,608  Semnt.dll      IA-64
   31-May-2005  22:57  2000.80.1027.0      88,576  Snapshot.exe   IA-64
   31-May-2005  23:08  2000.80.1027.0      10,240  Sqlagent.dll   IA-64
   31-May-2005  23:10  2000.80.1027.0   1,055,232  Sqlagent.exe   IA-64
   31-May-2005  23:05  2000.80.1027.0      90,112  Sqlboot.dll    IA-64
   01-Jun-2005  01:45  2000.80.1027.0      32,256  Sqlctr80.dll   IA-64
   31-May-2005  22:50  2000.80.1027.0     812,032  Sqldata.dll    IA-64
   31-May-2005  23:27  2000.80.1027.0  13,845,504  Sqldmo.dll     IA-64
   31-May-2005  22:55                      39,936  Sqldumper.exe  IA-64
   31-May-2005  23:16  2000.80.1027.0     493,568  Sqlmaint.exe   IA-64
   31-May-2005  22:50  2000.80.1027.0      23,040  Sqlmap70.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0     152,064  Sqlrepss.dll   IA-64
   01-Jun-2005  01:45  2000.80.1027.0  30,138,880  Sqlservr.exe   IA-64
   31-May-2005  22:50  2000.80.1027.0     616,960  Sqlsort.dll    IA-64
   31-May-2005  22:55  2000.80.1027.0     120,320  Sqlvdi.dll     IA-64
   31-May-2005  22:55  2000.80.1027.0     227,328  Sqsrvres.dll   IA-64
   31-May-2005  22:49  2000.80.1027.0      53,760  Ssmslpcn.dll   IA-64
   31-May-2005  23:03  2000.80.1027.0      59,904  Ssmsqlgc.dll   IA-64
   31-May-2005  22:50  2000.80.1027.0     256,000  Ssnetlib.dll   IA-64
   31-May-2005  22:51  2000.80.1027.0      20,992  Ssnmpn70.dll   IA-64
   31-May-2005  23:00  2000.80.1027.0     430,080  Svrnetcn.dll   IA-64
   31-May-2005  23:00  2000.80.1027.0     185,856  Svrnetcn.exe   IA-64
   31-May-2005  22:51  2000.80.1027.0     183,296  Xplog70.dll    IA-64
   31-May-2005  22:57  2000.80.1027.0     187,392  Xpweb70.dll    IA-64
   31-May-2005  22:55  2000.80.1027.0     146,432  Replres.rll
   31-May-2005  23:08  2000.80.1027.0      41,984  Sqlagent.rll
   31-May-2005  23:08  2000.80.1027.0     574,976  Sqldmo.rll
   31-May-2005  22:51  2000.80.1027.0      19,968  Sqlevn70.rll
   31-May-2005  23:05  2000.80.1027.0       4,096  Sqlrepss.rll
   31-May-2005  23:00  2000.80.1027.0      15,872  Svrnetcn.rll

Nota Devido a dependências de ficheiros, a correcção mais recente ou funcionalidade que contém estes ficheiros pode também conter ficheiros adicionais.

Como contornar

Para contornar este problema, utilize um dos seguintes métodos.

Método 1

  1. Executa NaN validação verifica em aplicações cliente quando utilizar chamadas de procedimento remoto (RPCs, Remote Procedure Calls). Certifique-se de que os valores de NaN não são passados para o SQL Server 2000.
  2. Verificação linhas de dados que contêm o tipo de dados FLOAT ou o tipo de dados REAL existente. Procure valores NaN. Para efectuar este procedimento, execute a seguinte consulta:
    SELECT <unique column list>,
     CONVERT(varchar(30),<float column or real column1>)
     FROM <table name>
     WHERE ISNUMERIC(<float column or real column>) = 0
    nesta consulta:
    • Substituir <unique column list> com uma lista de um ou mais nomes de coluna que são separados por vírgulas para identificar exclusivamente a linha na tabela específica.
    • Substituir <table name> com o nome da tabela que pretende procurar.
    • Substituir <float column or real column> com o nome da coluna.

Método 2

Não crie índices que se baseiam em colunas FLOAT ou nas colunas REAL.

Método 3

Se pode utilizar um tipo numérico exacto no seu ambiente, alterar o tipo de dados o real ou a coluna de vírgula flutuante tipo numérico ou o tipo decimal.

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

Pode também inserir NaN valores utilizando uma operação de cópia em massa. No entanto, nesta situação, determinados eventos de idioma como instruções INSERT comunicam um número de vírgula flutuante inválido e não inserir a linha.

A lista seguinte contém alguns exemplos de valores NaN:
  • Infinito positivo
  • Infinito
  • Zero dividido por zero ( 0/0 )
  • NaNs silencioso (QNaN)
  • Sinalização NaNs (SNaN)
Para obter mais informações sobre NaNs, consulte o manual para programadores do Intel arquitectura de software . Para obter este manual, visite o seguinte Web site da Intel:
http://www.intel.com/design/pentiumii/manuals/243191.htm
Microsoft fornece informações de contactos outros fabricantes para ajudar a encontrar suporte técnico. Poderá ser alterado estas informações de contacto sem aviso prévio. Microsoft não garante a precisão destas informações de contacto outros fabricantes.

Para obter mais informações sobre o esquema de atribuição de nomes para actualizações do Microsoft SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia utilizada pela Microsoft quando corrige software após a respectiva comercialização, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 900335 - Última revisão: 2 de novembro de 2007 - Revisão: 2.5
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • 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
Palavras-chave: 
kbmt kbautohotfix kbsqlserv2000presp4fix kbfix kbbug kbpubtypekc kbhotfixserver kbqfe KB900335 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 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: 900335

Submeter comentários

 

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