REVISIÓN: Puede producirse una infracción de acceso cuando ejecuta DBCC DBREINDEX en una tabla que tiene índices hipotética

Seleccione idioma Seleccione idioma
Id. de artículo: 818097 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
CPR - SQL 2000 - revisión en SP4
Nº DE ERROR: 360568 (SHILOH_BUGS)
Expandir todo | Contraer todo

En esta página

Síntomas

Si ejecuta DBCC DBREINDEX en una tabla que contiene uno o más índices hipotéticos, puede producirse una infracción de acceso en la función CTableMetadata::LoadIndex . El Asistente para optimización de índices crean índices hipotéticos durante el proceso de optimización. Normalmente, los índices se eliminan al final del proceso del Asistente para optimización de índices. Sin embargo, en algunos casos, como un proceso de Asistente para optimización de índices que no es correcta, estos índices pueden no correctamente quitarse.

Además, cuando ejecuta DBCC CHECKDB, puede recibir el siguiente mensaje de error que indica que la tabla de sistema sysindexes está dañada:
Servidor: Msg 7995, nivel 16, estado 3, línea 1
Base de datos 'prueba' errores de coherencia en sysobjects, sysindexes, syscolumns o systypes impiden CHECK más procesamiento.

Al ejecutar DBCC CHECKTABLE en sysindexes , puede aparecer los errores siguientes:

Servidor: Msg 2537, nivel 16, estado 40, línea 1
Error de tabla: Object ID 2, el identificador de índice 0, la página (1:3282), la fila 5. Registrar cheque (longitud < = () colInfo.CbMaxLen && pCol! = NULL) error. Los valores posibles son 1120 y 1088.

Servidor: Mensaje 2537, nivel 16, estado 1, línea 1 tabla error: identificador de objeto (2), identificador de índice 0, la página (1:3282), la fila 6. Longitud de registro verificación (< = () colInfo.CbMaxLen && pCol! = NULL) error. Los valores son 1120 y 1088.

Servidor: Mensaje 8964, nivel 16, estado 1, línea 1 tabla error: identificador de objeto (2). El texto, ntext o nodo de la imagen en la página (1:24219) ranura 2, ID. de texto 108377276416 no se hace referencia.

Servidor: Mensaje 8964, nivel 16, estado 1, línea 1 error de tabla: identificador de objeto (2). El texto, ntext o nodo de imagen en la página (1:24219), ranura 4, texto 108377341952 ID no se hace referencia. Resultados de DBCC para 'sysindexes'.

Solución

Información de Service Pack

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000

Información de revisiones

La versión en inglés de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version            Size    File name
   --------------------------------------------------------------------
   26-Feb-2003  03:41  2000.80.777.0      29,244  Dbmslpcn.dll     
   08-Feb-2003  05:43                    786,432  Distmdl.ldf
   08-Feb-2003  05:43                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   01-Feb-2003  00:32  2000.80.763.0   1,557,052  Dtsui.dll        
   30-Jan-2003  05:18                    746,470  Instdist.sql
   30-Jan-2003  01:55                      1,402  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     
   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-Apr-2003  21:27                  1,083,467  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      
   01-Apr-2003  02:23                  1,084,828  Replsys.sql
   24-Apr-2003  23:47                        736  Shortcut to files.lnk
   03-Apr-2003  18:14                    104,868  Sp3_serv_uni.sql
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   28-Feb-2003  01:34  2000.80.778.0     176,696  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   05-Apr-2003  01:47  2000.80.800.0   7,540,817  Sqlservr.exe     
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   26-Feb-2003  03:41  2000.80.777.0      29,244  Ssmslpcn.dll     
   26-Feb-2003  03:41  2000.80.777.0      82,492  Ssnetlib.dll     
   17-Mar-2003  14:49                    727,132  Sysmessages.sym
   28-Feb-2003  01:34  2000.80.778.0      98,872  Xpweb70.dll     
Nota Debido a la interdependencia entre archivos, el más reciente revisión o característica que contiene estos archivos quizás contenga también archivos adicionales.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".Este problema se corrigió por primera vez en Pack 4 de Microsoft SQL Server 2000.

Más información

La pila corta que está asociada con esta infracción de acceso puede ser similar a la siguiente pila corta:

* -------------------------------------------------------------------------------
* Short Stack Dump
* 0054FF3F Module(sqlservr+0014FF3F) (CTableMetadata::LoadIndex+000006E7)
* 0054EFAB Module(sqlservr+0014EFAB) (CTableMetadata::GatherIndexes+00000370)
* 00540D2E Module(sqlservr+00140D2E) (CTableMetadata::LoadMetadata+00000162)
* 004FE9ED Module(sqlservr+000FE9ED) (CLogOp_Get::DeriveGroupProperties+00000022)
* 00540BC2 Module(sqlservr+00140BC2) (COpArg::DeriveNormalizedGroupProperties+0000001B)
* 00540B4E Module(sqlservr+00140B4E) (COptExpr::DeriveGroupProperties+000000B3)
* 00540AF8 Module(sqlservr+00140AF8) (COptExpr::DeriveGroupProperties+0000005D)
* 00540AF8 Module(sqlservr+00140AF8) (COptExpr::DeriveGroupProperties+0000005D)
* 00540AF8 Module(sqlservr+00140AF8) (COptExpr::DeriveGroupProperties+0000005D)
* 00540AF8 Module(sqlservr+00140AF8) (COptExpr::DeriveGroupProperties+0000005D)
* 0054C7A5 Module(sqlservr+0014C7A5) (CCvtTree::PexprFromTree+0000032D)
* 0054C465 Module(sqlservr+0014C465) (CCvtTree::PqryFromTree+0000024C)
* 0054C230 Module(sqlservr+0014C230) (BuildQueryFromTree+00000046)
* 0054C19D Module(sqlservr+0014C19D) (CStmtQuery::InitQuery+0000013E)
* 004FF9C9 Module(sqlservr+000FF9C9) (CStmtSelect::Init+0000008A)
* 0053546E Module(sqlservr+0013546E) (CCompPlan::FCompileStep+00000AD6)
* 0053BD8F Module(sqlservr+0013BD8F) (CProchdr::FCompile+00000D23)
* 004106AD Module(sqlservr+000106AD) (CSQLSource::FTransform+0000034C)
* 005E6FA0 Module(sqlservr+001E6FA0) (CSQLStrings::FTransform+00000056)
* 00410092 Module(sqlservr+00010092) (CSQLSource::Execute+0000015B)
* 0052D444 Module(sqlservr+0012D444) (ExecuteSql+00000284)
* 0052CF5D Module(sqlservr+0012CF5D) (ExecUpdStatsStmt+00000681)
* 0052BC8E Module(sqlservr+0012BC8E) (FUpsBuildStats+00000361)
* 0052B988 Module(sqlservr+0012B988) (FCheckSetOptions+0000022D)
* 0059C973 Module(sqlservr+0019C973) (CIndexDDL::ExecSelForStats+00000063)
* 0059CB5D Module(sqlservr+0019CB5D) (CIndexDDL::Create+000001CE)
* 0059CF43 Module(sqlservr+0019CF43) (CIndexDDL::Rebuild+00000237)
* 0059D407 Module(sqlservr+0019D407) (RebuildIndexDriver+0000009D)* 008BED17 Module(sqlservr+004BED17) (RebuildObjectIndexes+00000175)
* 008BEFD3 Module(sqlservr+004BEFD3) (dbreindex+0000024A)
* 005F39DE Module(sqlservr+001F39DE) (CStmtDbcc::XretExecute+0000085C)
* 0040F403 Module(sqlservr+0000F403) (CMsqlExecContext::ExecuteStmts+000002D9)
* 0040EA95 Module(sqlservr+0000EA95) (CMsqlExecContext::Execute+000001B6)
* 00410159 Module(sqlservr+00010159) (CSQLSource::Execute+00000331)
* 0053C498 Module(sqlservr+0013C498) (language_exec+000003E1)
* 00411099 Module(sqlservr+00011099) (process_commands+000000EC)
* 41073379 Module(UMS+00003379) (ProcessWorkRequests+0000024A)
* 41073071 Module(UMS+00003071) (ThreadStartRoutine+000000BD)
* 7800C9EB Module(MSVCRT+0000C9EB) (set_sbh_threshold+00001282)
* 77E96523 Module(KERNEL32+00016523) (SetThreadAffinityMask+0000049F)
* -------------------------------------------------------------------------------

El Asistente para optimización de índices crea índices hipotéticos como parte del proceso de optimización. Estos índices se eliminan normalmente si el asistente finalice, pero los índices pueden permanecer si se termina el proceso. El siguiente artículo de Knowledge Base contiene una secuencia de comandos que puede utilizarse para quitar estos índices:
293177Error: Índice agrupado hipotética de Asistente para optimización de índices puede producir recompilar bucle
Después de ejecutar esta secuencia de comandos, se resolverán la infracción de acceso y se corregirán los errores en sysindexes .

Propiedades

Id. de artículo: 818097 - Última revisión: miércoles, 26 de febrero de 2014 - Versión: 9.3
La información de este artículo se refiere 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
Palabras clave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB818097 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 818097

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