Error de aserción de SQL Server al intentar ejecutar una instrucción Bulk Insert o BCP: "<loglock.cpp>, línea = 807 de aserción de error = ' resultado == LCK_OK'"</loglock.cpp>

Seleccione idioma Seleccione idioma
Id. de artículo: 2700641 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Tenga en cuenta la situación siguiente:
  • Servidores a y b ejecutan Microsoft SQL Server 2008 o SQL Server 2008 R2.
  • Configurar la creación de reflejo de base de datos entre el servidor a servidor B.
  • Ejecutar una instrucción BULK INSERT o BCP en la base de datos principal.

    Nota De forma predeterminada, la opción CHECK_CONSTRAINTS se establece en off cuando se ejecuta una instrucción de BCP o de INSERCIÓN masiva.
  • El reflejo de base de datos se corta, y la sesión de reflejo de base de datos entra en el estado suspendido.
En este escenario, se produce una aserción en el servidor reflejado. Por lo tanto, se crea un archivo de minivolcado en la carpeta de registro SQL Server. Además, vea el siguiente error en el registro de errores de SQL Server en el servidor reflejado:

fecha hora spid Utilizando 'dbghelp.dll' versión '4.0.5'
fecha hora spid ** Volcar el subproceso - spid = 31, CE = 0x00000007F9B1C1A0
fecha hora spid *** Volcado de pila enviándose a c:\Archivos Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt

fecha hora spid * *******************************************************************************

fecha hora spid *
fecha hora spid * VOLCADO DE PILA BEGIN:
fecha hora spid * 01/04/12/16: 46: 21 spid 12100
fecha hora spid *
fecha hora spid * Ubicación: loglock.cpp:807
fecha hora spid * Expresión: dar como resultado == LCK_OK
fecha hora spid * SPID: 31
fecha hora spid * ID. de proceso: 2228

fecha hora spid Error: 17066, gravedad: 16, estado: 1.

fecha hora spid Aserción de SQL Server: Archivo: <loglock.cpp>, línea = 807 de aserción de error = ' resultado == LCK_OK'. Este error puede ser relacionados con el tiempo. Si el problema persiste después de volver a ejecutar la instrucción use DBCC CHECKDB para comprobar la integridad estructural de la base de datos o reinicie el servidor para asegurarse de que las estructuras de datos en memoria no están dañadas.

</loglock.cpp>fecha hora spid Error: 3624, gravedad: 20, estado: 1.

fecha hora spid Error de una comprobación de la aserción del sistema. Compruebe el registro de errores de SQL Server para obtener más información. Normalmente, un error de aserción se debe a una corrupción de datos o errores de software. Para comprobar si hay daños en la base de datos, considere la posibilidad de ejecutar DBCC CHECKDB. Si has aceptado enviar volcados a Microsoft durante la instalación, se enviará un mini volcado a Microsoft. Una actualización esté disponible en el último Service Pack o en un QFE del soporte técnico de Microsoft.

fecha hora spid Error: 1454, gravedad: 16, estado: 1.

fecha hora spid Se suspenderá la creación de reflejo de base de datos. Instancia del servidor '<Instance name="">' encontró un estado de error 3624, 1, gravedad 20 cuando estaba actuando como asociado de creación de reflejos de base de datos '<database name="">'. La creación de reflejo de los asociados de negocios de la base de datos podría intentar recuperarse del error automáticamente y reanudar la sesión de creación de reflejos. Para obtener más información, vea el registro de error para los mensajes de error adicional. </database></Instance>


Nota Debe reinicializar el reflejo de base de datos para resolver este problema.

Causa

Este problema se produce porque no se transfiere la información de compatibilidad de bloqueo en el registro de transacciones de base de datos principal al servidor reflejado.

Solución

Para evitar este problema, ejecute la instrucción BULK INSERT o BCP en la base de datos principal mediante la opción CHECK_CONSTRAINTS ON.

Nota La opción CHECK_CONSTRAINTS ON hace que un rendimiento más lento. Sin embargo, el bloqueo de aserción en el reflejo no se produce el servidor.

Más información

Durante una operación BULK INSERT o BCP, una transacción de niño desactiva la opción CHECK_CONSTRAINTS. Esta transacción niño utiliza un bloqueo que es compatible con los bloqueos de la transacción principal. La información de compatibilidad se almacena en el registro de transacciones de base de datos principal. Por lo tanto, la solicitud de bloqueo de transacciones secundarios se concederá sobre la base de datos principal.

Sin embargo, esta información de compatibilidad no se transfiere al servidor reflejado. Por lo tanto, no es compatible con los bloqueos de transacciones principal en el servidor reflejado la solicitud de bloqueo de transacciones secundarios. Esta situación provoca la aserción en el servidor reflejado.

Propiedades

Id. de artículo: 2700641 - Última revisión: lunes, 6 de agosto de 2012 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 Enterprise
Palabras clave: 
kbsurveynew kbtshoot kbprb kbmt KB2700641 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): 2700641

Enviar comentarios

 

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