CORRECÇÃO: Uma instrução CHECKDB relatórios danos depois do SQL Server transfere dados sql_variant no SQL Server 2000

Traduções de Artigos Traduções de Artigos
Artigo: 832437 - Ver produtos para os quais este artigo se aplica.
Erro # 470559 (SQL Server 8.0)

Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Uma instrução DBCC CHECKDB pode relatar erros de consistência da base de dados quando todas as condições seguintes forem verdadeiras:
  • SQL Server carrega dados para uma coluna que é um tipo de dados sql_variant .
  • Os dados têm origem numa outra coluna que é um tipo de dados sql_variant e em algum momento os dados são enviados no fio pelo SQL Server. Os dados são enviados um directamente para outro servidor que esteja a executar o SQL Server ou para um ficheiro intermédio.
  • A coluna sql_variant contém valores numéricos.

Eis alguns exemplos de instruções que poderiam causar este comportamento:
  • Um INSERTSELECT instrução que especifica um servidor remoto na cláusula FROM da instrução SELECT.
  • Um bcp ou uma declaração BULK INSERT de um ficheiro que foi criada por uma instrução SELECT do SQL Server.
  • Carregamento de dados utilizando Data Transformation Services.

Eis algumas das mensagens de erro que poderá receber:

Mensagem de erro 1

Servidor: Erro 2537, 16 de nível de estado 43, linha 1 erro tabela: objecto ID 587149137, ID de índice 0, página (1:1325), linha 0. Verificação de registo (innerLength < = (innerColInfo.CbMaxLen) && innerPCol! = NULL) falhou. Os valores são 17 e 5.


Mensagem de erro 2

Erro de servidor: 2537, 16 de nível de estado 1, erro de linha 1 tabela: objecto ID 587149137, ID de índice 0, página (1:1325), linha 0. Falha ao verificar registo (SqlVariant válido). Os valores são 1 e 0.


Mensagem de erro 3

DBCC resultados de 'myvar2'. Não existem linhas 1 nas páginas de 1 para o objecto 'myvar2'. CHECKTABLE encontrar erros de atribuição de 0 e 2 erros consistência na tabela 'myvar2' (objecto 587149137 ID). repair_allow_data_loss é o nível mínimo de reparação para os erros encontrados pelo DBCC CHECKTABLE (pubs.dbo.myvar2).

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter mais informações, 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 a correcção

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de 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.
   Date         Time   Version            Size    File name
   ---------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   28-Oct-2003  04:21  2000.80.873.0     315,968  Custtask.dll     
   02-Oct-2003  20:59  2000.80.867.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
   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll       
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.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       
   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     
   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
   12-Sep-2003  00:37                     12,305  Qfe469315.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   06-Sep-2003  01:36                  1,090,932  Replmerg.sql
   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll     
   06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll      
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   22-Oct-2003  00:08  2000.80.871.0      57,916  Semnt.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
   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
   27-Sep-2003  04:42  2000.80.865.0     180,792  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   22-Oct-2003  00:08  2000.80.871.0     401,984  Sqlqry.dll       
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   11-Nov-2003  22:34  2000.80.878.0   7,606,353  Sqlservr.exe     
   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       
   02-Oct-2003  20:59  2000.80.867.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     
   28-Oct-2003  04:21  2000.80.873.0     123,456  Stardds.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          
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      

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

Ponto Da Situação

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

Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 4.

Mais Informação

A correcção descrita neste artigo corrige a forma como o SQL Server interpreta a sequência de bytes, à medida que lê as informações que são enviadas na ligação.

Aplicar a correcção para o servidor receptor. A correcção não corrige os dados anteriormente danificados. Para repor um estado conhecido, poderá considerar a truncar a tabela ou pode executar uma instrução DBCC CHECKDB com a opção REPAIR_ALLOW_DATA_LOSS para eliminar as linhas danificadas. Em seguida, pode recarregar a tabela da origem de dados original.

Referências

Para obter informações adicionais sobre actualizações de software, 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: 832437 - Última revisão: 2 de novembro de 2007 - Revisão: 2.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: 
kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB832437 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: 832437

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