Message d’erreur « Vous pouvez spécifier uniquement le verrou READPAST dans les niveaux d’isolement READ COMMITTED ou REPEATABLE READ » lorsque vous ajoutez un champ à une table dans Microsoft Dynamics NAV


Symptômes


Lorsque vous essayez d’ajouter un champ à une table répliquée dans Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) ou dans le Service Pack 1 de Microsoft Dynamics NAV 5.0, vous recevez un message d’erreur semblable au suivant :
L’erreur de SQL Server ou les erreurs suivantes lors de l’accès à la table nom_table :
650, « 42000 », [Microsoft] [pilote ODBC SQL Server] [SQL Server] vous ne pouvez spécifier que le verrou READPAST dans les niveaux d’isolement READ COMMITTED ou REPEATABLE READ. SQL : ALTER TABLE « NAVDB ». » dbo ». » "CRONUS France Ltd_$ MyTable » ajouter « Champ4 » varchar (10) pas de contrainte NULL « $ndodefault$ 625437302$ 4 » par défaut ''
Remarques
  • Table_Name est un espace réservé pour le nom réel de la table que vous souhaitez utiliser pour ajouter le champ.
  • Ce problème se produit sur un ordinateur qui exécute Microsoft SQL Server 2008 et qui a installé l’environnement de Microsoft Dynamics NAV. En outre, ce problème se produit uniquement si la réplication de Microsoft SQL Server est activée sur une des tables Microsoft Dynamics NAV.

Cause


Ce problème se produit car vous ne pouvez pas modifier le schéma d’une table répliquée dans Microsoft SQL Server 2008 si la transaction appropriée est définie pour utiliser le niveau d’isolation sérialisable. Il s’agit d’une nouvelle contrainte pour Microsoft SQL Server 2008 qui n’existaient pas dans les versions antérieures de Microsoft SQL Server. Toutefois, la configuration par défaut de Microsoft Dynamics NAV utilise le niveau d’isolation sérialisable pour modifier des tables.

Résolution


Pour résoudre ce problème, configurez Microsoft Dynamics NAV 5.0 SP1 et Microsoft Dynamics NAV 2009 SP1 pour utiliser le niveau d’isolation REPEATABLE READ dans Microsoft SQL Server au lieu du niveau d’isolation sérialisable.

Pour plus d’informations sur la façon de modifier le niveau d’isolement utilisé par Microsoft Dynamics NAV, consultez les articles suivants de la Base de connaissances (KB) et les correctifs associés :
  • Microsoft Dynamics NAV 5.0 SP1 : 979135
  • Microsoft Dynamics NAV 2009 SP1 : 978100