Problèmes de blocage provoqués par Microsoft Dynamics NAV 2009 SP1 à l’aide du niveau d’isolation sérialisable de Microsoft SQL Server

S’applique à : Dynamics NAV 2009

PUBLICATION RAPIDE ARTICLES FOURNISSENT DES INFORMATIONS DIRECTEMENT À PARTIR DE L’ORGANISATION DE SUPPORT TECHNIQUE DE MICROSOFT. LES INFORMATIONS PRÉSENTÉES ICI SONT CRÉÉES EN RÉPONSE À ÉMERGENTS OU UNIQUES RUBRIQUES, OU EST DESTINÉ À COMPLÉTER LES AUTRES INFORMATIONS DE LA BASE DE CONNAISSANCES.
Cet article s’applique à Microsoft Dynamics NAV pour tous les pays et tous les paramètres régionaux de langue.

Symptômes


Les clients de Microsoft Dynamics NAV peuvent rencontrer des problèmes de blocage lorsque plusieurs utilisateurs entrent les écritures de journal, des entrées de commande client, écritures de commande d’achat et des tâches similaires dans Microsoft Dynamics NAV 2009 SP1.

Cause


Microsoft SQL Server de problèmes de blocage peuvent être dû par plage indésirable verrouille la base de données SQL Server. Ces verrous de se produisent lors de l’exécution sous le niveau d’isolation sérialisable sur serveur de Microsoft SQL.


Sans le correctif décrit dans cet article, Microsoft Dynamics NAV utilise le niveau d’isolement de transaction sérialisable dans Microsoft SQL Server dans des transactions accessible en écriture. Après avoir appliqué ce correctif logiciel, il est possible de configurer Microsoft Dynamics NAV pour utiliser le niveau d’isolation REPEATABLE READ à la place.

Résolution


Pour résoudre ce problème, procédez comme suit :
  1. Appliquez le correctif décrit dans cet article.
  2. Configurer Microsoft Dynamics NAV pour utiliser le niveau d’isolation REPEATABLE READ dans Microsoft SQL Server. Pour cela, vous pouvez l’activation de le 4194304 indicateur dans le champ du diagnostic de la table de dbproperty $ $ndo dans la base de données Microsoft Dynamics NAV. Pour activer le 4194304 indicateur, exécutez l’instruction TSQL suivante dans la base de données SQL de Microsoft Dynamics NAV :
    update [$ndo$dbproperty] set diagnostics = diagnostics | 4194304
    Pour plus d’informations sur le niveau d’isolement des transactions de Microsoft SQL Server, consultez la rubrique «Niveaux d’Isolation dans le moteur de base de données» sur MSDN de Microsoft.
Activation du niveau d’isolement REPEATABLE READ dans Microsoft Dynamics NAV améliorera les performances générales dans les situations où plusieurs utilisateurs rencontrent de blocage lorsqu’ils entrent des entrées de journal, des entrées de commande client, écritures de commande d’achat et des tâches similaires.

La différence entre le niveau d’isolation sérialisable et le niveau d’isolation REPEATABLE READ est que le niveau d’isolation sérialisable protège contre des lectures fantômes. Par conséquent, l’activation de niveau d’isolation REPEATABLE READ y introduit un risque théorique de lectures fantômes. L’exemple suivant montre ce que cela signifie dans une perspective de C/AL.


Remarque : Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent aider à expliquer la fonctionnalité d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.
MYTABLE.LOCKTABLE;MYTABLE.SETCURRENTKEY("Document No.", "Line No.");
MYTABLE.SETRANGE(MYTABLE."Document No.", '1');
MYTABLE.SETRANGE(MYTABLE."Line No.", 1, 10);
IF MYTABLE.FIND('-') THEN
REPEAT
UNTIL (MYTABLE.NEXT()=0);

IF MYTABLE.FIND('-') THEN
REPEAT
UNTIL (MYTABLE.NEXT()=0);
COMMIT;

Avec le niveau d’isolation sérialisable, tous les enregistrements existants sont verrouillées pendant la boucle « RÉPÉTEZ jusqu'à ce que » premier et autres utilisateurs seront également bloqués à partir de l’insertion de nouveaux enregistrements dans la plage spécifiée. L’enregistrement qui n’a pas de Document = 2, ligne N° = 1 seront également bloqués. Par conséquent, la deuxième boucle lira toujours exactement le même résultat que la première boucle. REPEATABLE READ d’un niveau d’isolation de transaction, une personne peut théoriquement insérer un nouvel enregistrement dans la plage mentionnée qui apparaîtra sous la forme d’un enregistrement supplémentaire dans la seconde boucle.

Pour désactiver le 4194304 indicateur, exécutez l’instruction TSQL suivante :
update [$ndo$dbproperty] set diagnostics = diagnostics ^ 4194304
Microsoft vous recommande de tests approfondis avant d’apporter des modifications à un environnement dynamique pour s’assurer qu’il n’y a pas de résultats inattendus.

Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si vous rencontrez un problème lors du téléchargement, l’installation de ce correctif, ou que vous avez d’autres questions de support technique, contactez votre partenaire ou, si inscrit à un plan de support directement avec Microsoft, vous pouvez contacter le support technique pour Microsoft Dynamics et créer une demande de support. Pour ce faire, visitez le site Web de Microsoft à l'adresse suivante :Vous pouvez également contacter le support technique pour Microsoft Dynamics par téléphone à l’aide de ces liens pour les numéros de téléphone spécifiques des pays. Pour ce faire, reportez-vous à l’un des sites Web de Microsoft à l’adresse suivante :

PartenairesClientsDans certains cas, les frais généralement encourus pour la prise en charge des appels peuvent être annulés si un technicien du Support technique pour Microsoft Dynamics et les produits associés détermine qu’une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes qui ne relèvent pas de la mise à jour spécifique en question.



Le message électronique contiendra un lien hypertexte et un mot de passe. Vous pouvez utiliser le lien hypertexte pour télécharger le correctif logiciel de Microsoft Dynamics NAV ou les fichiers de mise à jour. Lorsque vous cliquez sur le lien hypertexte, la boîte de dialogue Téléchargement de fichier – Avertissement de sécurité s’ouvre. Puis, vous êtes invité à exécuter, à enregistrer ou à annuler le téléchargement.


Si vous cliquez sur exécuter, les fichiers de démarrer le téléchargement et le processus d’extraction. Vous devez spécifier un dossier pour les nouveaux fichiers et ensuite fournir le mot de passe.


Si vous cliquez sur Enregistrer, vous devez spécifier un chemin d’accès pour enregistrer le fichier compressé. Lorsque vous ouvrez le fichier que vous avez enregistré, vous êtes invité à spécifier un chemin d’accès pour les fichiers. Ensuite, vous devez fournir le mot de passe fourni dans le message électronique.


Si vous cliquez sur Annuler, le processus de téléchargement s’arrête.



Comment installer un correctif Microsoft Dynamics NAV ou un fichier de mise à jour

Les mises à jour et correctifs logiciels de plate-forme Microsoft Dynamics NAV sont accessibles sous forme de fichiers unique. Pour installer un correctif Microsoft Dynamics NAV ou une mise à jour, vous devez remplacer les fichiers d’installation de Microsoft Dynamics NAV existantes avec le correctif ou les mise à jour fichiers. Pour ce faire, procédez comme suit.

Étape 1 : Remplacer les fichiers dans l’installation du Client de Microsoft Dynamics NAV Classic

Dans l’installation de Microsoft Dynamics NAV Classic Client, remplacez les fichiers suivants en utilisant le correctif ou les mise à jour fichiers.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Dbm.dll6.0.30609.0427,84808-Feb-201015:31x86
Fin.exe6.0.30609.012,598,60008-Feb-201015:32x86
Finhlink.exe6.0.30609.0452,43208-Feb-201015:32x86
Finsql.exe6.0.30609.012,713,80808-Feb-201015:32x86
Nc_netb.dll6.0.30609.096,59208-Feb-201015:31x86
Nc_tcp.dll6.0.30609.098,64008-Feb-201015:31x86
Nc_tcps.dll6.0.30609.0141,13608-Feb-201015:31x86
Ndbcs.dll6.0.30609.01,348,94408-Feb-201015:31x86
Slave.exe6.0.30609.0152,40008-Feb-201015:31x86
Pour remplacer les fichiers existants de Microsoft Dynamics NAV, procédez comme suit :
  1. Fermez le Client Microsoft Dynamics NAV Classic.
  2. Recherchez le répertoire d’installation de Microsoft Dynamics NAV Classic Client. Le Client Microsoft Dynamics NAV Classic est habituellement installé dans le répertoire suivant :
    C:\Program Files\Microsoft Dynamics NAV\60\Classic
  3. Copiez les fichiers que vous avez téléchargé.
  4. Collez les fichiers que vous avez téléchargé dans le répertoire d’installation de Microsoft Dynamics NAV Classic Client.
  5. Cliquez sur Oui pour remplacer les fichiers dans le répertoire.

Étape 2 : Remplacer les fichiers dans l’installation Client personnalisé de Microsoft Dynamics NAV

Dans l’installation Client personnalisé de Microsoft Dynamics NAV, remplacez les fichiers suivants en utilisant le correctif ou les mise à jour fichiers.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Microsoft.dynamics.framework.patterns.dll1.3.10803.12071,65608-Feb-201006:30x86
Microsoft.dynamics.framework.ui.dll1.3.10803.120698,32808-Feb-201006:30x86
Microsoft.dynamics.framework.ui.mapping.dll1.3.10803.120104,42408-Feb-201006:30x86
Microsoft.dynamics.framework.ui.navigation.dll1.3.10803.12034 80008-Feb-201006:30x86
Microsoft.dynamics.framework.ui.ux2006.dll1.3.10803.12088,04008-Feb-201006:30x86
Microsoft.dynamics.framework.ui.ux2006.winforms.dll1.3.10803.12063,48008-Feb-201006:30x86
Microsoft.dynamics.framework.ui.windows.dll1.3.10803.12083,94408-Feb-201006:30x86
Microsoft.dynamics.framework.ui.winforms.controls.dll1.3.10803.1202,111,48808-Feb-201006:30x86
Microsoft.dynamics.framework.ui.winforms.dll1.3.10803.120690,15208-Feb-201006:30x86
Microsoft.dynamics.nav.client.builder.dll6.0.30609.0198,54408-Feb-201015:20x86
Microsoft.dynamics.nav.client.exe6.0.30609.0149,37608-Feb-201015:20x86
Microsoft.dynamics.nav.client.interop.communicator.dll1.0.559.18375,68808-Feb-201015:20x86
Microsoft.dynamics.nav.client.serviceconnection.dll6.0.30609.0104,35208-Feb-201015:20x86
Microsoft.dynamics.nav.client.ui.dll6.0.30609.0505,72808-Feb-201015:20x86
Microsoft.dynamics.nav.client.winforms.dll6.0.30609.0337,80808-Feb-201015:20x86
Microsoft.dynamics.nav.client.winforms.tlbNe s'applique pas2,64408-Feb-201012:14Ne s'applique pas
Microsoft.dynamics.nav.language.dll6.0.30609.01,992,57608-Feb-201015:20x86
Microsoft.dynamics.nav.types.dll6.0.30609.0567,16008-Feb-201015:20x86
Microsoft.office.interop.outlook.dll10.0.4504.0395,13608-Feb-201015:32x86
Pour remplacer les fichiers existants de Microsoft Dynamics NAV, procédez comme suit :
  1. Fermez le client personnalisé Microsoft Dynamics NAV.
  2. Recherchez le répertoire d’installation Client personnalisé de Microsoft Dynamics NAV.

    Le client personnalisé Microsoft Dynamics NAV est habituellement installé dans le répertoire suivant :

    C:\Program Files\Microsoft Dynamics NAV\60\RoleTailored Client
  3. Copiez les fichiers que vous avez téléchargé.
  4. Collez les fichiers que vous avez téléchargé dans le répertoire d’installation Client personnalisé de Microsoft Dynamics NAV.
  5. Cliquez sur Oui pour remplacer les fichiers dans le répertoire.

Étape 3 : Remplacer les fichiers dans l’installation de Microsoft Dynamics NAV Application Server.

Si vous avez installé Microsoft Dynamics NAV Application Server, remplacez les fichiers suivants dans l’installation de Microsoft Dynamics NAV Application Server en utilisant le correctif ou les mise à jour fichiers.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Dbm.dll6.0.30609.0427,84808-Feb-201015:31x86
Nas.exe6.0.30609.02,259,78408-Feb-201015:32x86
Nassql.exe6.0.30609.02,352,46408-Feb-201015:33x86
Ndbcs.dll6.0.30609.01,348,94408-Feb-201015:32x86
Slave.exe6.0.30609.0152,40008-Feb-201015:31x86
Pour remplacer les fichiers, procédez comme suit.
  1. Arrêtez le serveur d’Application Microsoft Dynamics NAV.
  2. Recherchez le répertoire d’installation de Microsoft Dynamics NAV Application Server. Microsoft Dynamics NAV Application Server est habituellement installé dans le répertoire suivant :
    C:\Program Files\Microsoft Dynamics NAV\60\Application Server
  3. Copiez les fichiers que vous avez téléchargé.
  4. Collez les fichiers que vous avez téléchargé dans le répertoire d’installation de Microsoft Dynamics NAV Application Server.
  5. Cliquez sur Oui pour remplacer les fichiers dans le répertoire.
  6. Démarrez le serveur d’Application Microsoft Dynamics NAV.

Étape 4 : Remplacer les fichiers dans l’installation de Microsoft Dynamics NAV Server

Dans l’installation de Microsoft Dynamics NAV Server, remplacez les fichiers suivants en utilisant le fichier de correctif ou la mise à jour.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Httpcfg.exe5.2.3790.022,35208-Feb-201015:32x86
Microsoft.dynamics.nav.language.dll6.0.30609.01,992,57608-Feb-201015:20x86
Microsoft.dynamics.nav.ncl.dll6.0.30609.0604,02408-Feb-201015:20x86
Microsoft.dynamics.nav.server.exe6.0.30609.0141,18408-Feb-201015:20x86
Microsoft.dynamics.nav.service.dll6.0.30609.0145,28008-Feb-201015:20x86
Microsoft.dynamics.nav.service.runtime.dll6.0.30609.075,66408-Feb-201015:20x86
Microsoft.dynamics.nav.service.webservices.dll6.0.30609.0145,30408-Feb-201015:20x86
Microsoft.dynamics.nav.types.dll6.0.30609.0567,16008-Feb-201015:20x86
Microsoft.dynamics.nav.watson.dll6.0.30609.042,88008-Feb-201015:20x86
Nclcsrt.etxNe s'applique pas89,52508-Feb-201008:28Ne s'applique pas
Nclcsrt.stxNe s'applique pas91,72408-Feb-201008:28Ne s'applique pas
Nclcsrts.dll6.0.30609.01,462,60808-Feb-201015:32x86
Ndbcs.dll6.0.30609.01,348,94408-Feb-201015:32x86
Pour remplacer ces fichiers, procédez comme suit :
  1. Arrêter le de Microsoft Dynamics NAV Server.
  2. Recherchez le répertoire d’installation de Microsoft Dynamics NAV Server.

    Le de Microsoft Dynamics NAV Server est habituellement installé dans le répertoire suivant :

    C:\Program Files\Microsoft Dynamics NAV\60\Service
  3. Copiez les fichiers que vous avez téléchargé.
  4. Collez les fichiers que vous avez téléchargé dans le répertoire d’installation de Microsoft Dynamics NAV Server.
  5. Cliquez sur Oui pour remplacer les fichiers dans le répertoire.
  6. Démarrer le de Microsoft Dynamics NAV Server.

Conditions préalables

Vous devez disposer de Microsoft Dynamics NAV 2009 Service Pack 1 pour appliquer ce correctif.

État


Microsoft a confirmé qu'il s'agissait d'un bogue dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft

MICROSOFT ET/OU SES FOURNISSEURS NE DONNENT AUCUNE GARANTIE CONCERNANT L’ADAPTABILITÉ, LA FIABILITÉ OU L’EXACTITUDE DES INFORMATIONS CONTENUES DANS LES DOCUMENTS ET LES GRAPHIQUES ASSOCIÉS PUBLIÉS SUR CE SITE WEB (LES « DOCUMENTS ») À QUELQUE FIN.

LES DOCUMENTS PEUVENT INCLURE DES IMPRÉCISIONS TECHNIQUES OU DES ERREURS TYPOGRAPHIQUES ET PEUVENT ÊTRE RÉVISÉES À TOUT MOMENT SANS PRÉAVIS. DANS LA MESURE PERMISE PAR LA RÉGLEMENTATION APPLICABLE, MICROSOFT ET/OU SES FOURNISSEURS EXCLUENT ET EXCLUENT TOUTES LES REPRÉSENTATIONS, GARANTIES ET CONDITIONS SI EXPRESSE, IMPLICITE OU LÉGALE, Y COMPRIS MAIS NON LIMITÉ AUX REPRÉSENTATIONS, GARANTIES OU CONDITIONS DE TITRE, CONDITION SATISFAISANTE, DE NON VIOLATION OU QUALITÉ, QUALITÉ MARCHANDE ET D’ADÉQUATION À UN USAGE PARTICULIER RELATIF AUX DOCUMENTS.