Aparece el mensaje de error "Sólo se puede especificar el bloqueo READPAST en los niveles de aislamiento READ COMMITTED o REPEATABLE READ" al agregar un campo a una tabla en Microsoft Dynamics NAV


Síntomas


Cuando intenta agregar un campo a una tabla duplicada en el Service Pack 1 (SP1) de Microsoft Dynamics NAV 2009 o en Microsoft Dynamics NAV 5.0 SP1, recibirá un mensaje de error similar al siguiente:
Se ha producido el siguiente error de SQL Server o errores al tener acceso a la tabla nombreTabla :
650, "42000", [Microsoft] [controlador ODBC para SQL Server] [SQL Server] sólo se puede especificar el bloqueo READPAST en los niveles de aislamiento READ COMMITTED o REPEATABLE READ. SQL: ALTER TABLE "NAVDB". " "dbo"." "CRONUS International Ltd_$ MyTable" Agregar "field4" restricción NULL no varchar (10) "$ndodefault$ 625437302$ 4" predeterminado ''
Notas:
  • Table_name es un marcador de posición para el nombre real de la tabla que desea utilizar para agregar el campo.
  • Este problema se produce en un equipo que está ejecutando Microsoft SQL Server 2008 y que tiene instalado el entorno de Microsoft Dynamics NAV. Además, este problema se produce sólo si está habilitada la replicación de Microsoft SQL Server en una de las tablas de Microsoft Dynamics NAV.

Causa


Este problema se produce porque no puede cambiar el esquema de una tabla replicada en Microsoft SQL Server 2008 si la transacción relevante está configurada para utilizar el nivel de aislamiento SERIALIZABLE. Se trata de una nueva restricción para Microsoft SQL Server 2008 que no existían en versiones anteriores de Microsoft SQL Server. Sin embargo, la configuración predeterminada de Microsoft Dynamics NAV utiliza el nivel de aislamiento SERIALIZABLE para cambiar tablas.

Solución


Para resolver este problema, configure Microsoft Dynamics NAV 5.0 Service Pack 1 y Service Pack 1 de Microsoft Dynamics NAV 2009 para utilizar el nivel de aislamiento REPEATABLE READ en Microsoft SQL Server en lugar del nivel de aislamiento SERIALIZABLE.

Para obtener más información acerca de cómo cambiar el nivel de aislamiento utilizado por Microsoft Dynamics NAV, visite los siguientes artículos de Knowledge Base (KB) y las revisiones asociadas:
  • Microsoft Dynamics NAV 5.0 SP1: 979135
  • Microsoft Dynamics NAV 2009 SP1: 978100