REVISIÓN: Creación de tabla, la inserción de fila y creación de índices en la transacción, Y por la adición de la restricción pueden producir en errores de coherencia

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.

286749
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Error nº: 351939 (SHILOH_bugs)
Síntomas
Cuando abra una transacción, crear una tabla, insertar filas, cree un índice en la tabla, confirmar la transacción y, a continuación, agregar una restricción, un DBCC CHECKTABLE posteriores puede informar de errores de coherencia. DBCC CHECKTABLE puede devolver resultados similar para:
Servidor: Msg 8970, nivel 16, estado 1, línea 2
Error de fila: 2041058307 de identificador de objeto, índice de ID. de 0, página ID (1:77), fila ID. de 0. Se creó la columna 'LastModified' NOT NULL, pero está NULL en la fila.
Servidor: Msg 8970, nivel 16, estado 1, línea 2
Error de fila: 2041058307 de identificador de objeto, índice de ID. de 0, página ID (1:77), fila ID 1. Se creó la columna 'LastModified' NOT NULL, pero está NULL en la fila.
Servidor: Msg 8970, nivel 16, estado 1, línea 2
Error de fila: 2041058307 de identificador de objeto, índice de ID. de 0, página ID (1:77), fila ID 2. Se creó la columna 'LastModified' NOT NULL, pero está NULL en la fila.
Resultados de DBCC para '# TableX_____________________________000000000011'.
No hay 0 filas en las páginas 1 para el objeto 'TableX______________________________________________000000000011 #'.
CHECKTABLE había encontrado 0 errores de asignación y errores de coherencia 3 en '# TableX________________________000000000011' (objeto 2041058307 ID) de la tabla.
REPAIR_ALLOW_DATA_LOSS es el nivel mínimo de reparación de los errores encontrados por DBCC CHECKTABLE (tempdb.dbo.#TableX________________________________________000000000011).

Se registra un mensaje similar al siguiente en el registro de error de SQL Server:
ejecutar <domain>\<user> (tempdb.dbo.#TableX______________________________000000000011) encontró 3 errores y reparar errores 0.
Solución
Para resolver este problema, consiga el Service Pack más reciente para SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211INF: Cómo obtener el Service Pack más reciente de SQL Server 2000
Solución
Para evitar este problema, utilice cualquiera de los métodos siguientes:
  • Cree el índice después de confirmar la transacción.
  • Insertar un valor en la tabla después de crear el índice y antes de cerrar la transacción.
  • Insertar un valor en la tabla después de confirmar la transacción y antes de agregar la restricción.
Estado
Microsoft ha confirmado que este es un problema de SQL Server 2000. Este problema se corrigió por primera vez en SQL Server 2000 Service Pack 1.
Más información
Para reproducir el problema, ejecute la siguiente secuencia de comandos:
begin trancreate table #TableX (Col1 varchar(20))insert #TableX values ('A')insert #TableX values ('B')insert #TableX values ('C')create index ix_Col1 on #TableX(Col1)  -- works fine when this is moved after the commit--insert #TableX values ('D') -- or when this is uncommentedcommit--insert #TableX values ('D') -- or when this is uncommentedalter table #TableX add LastModified datetime not null constraint cn_Enabled default getdate()goselect * from #TableXdbcc checktable(#TableX)godrop table #TableX				

Advertencia: este artículo se ha traducido automáticamente

Propiedades

Id. de artículo: 286749 - Última revisión: 01/16/2015 21:30:01 - Revisión: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB286749 KbMtes
Comentarios