Problemen die worden veroorzaakt door Microsoft Dynamics NAV 2009 SP1 met behulp van Microsoft SQL Server SERIALIZABLE isolatieniveau blokkeren

Van toepassing: Dynamics NAV 2009

SNELLE PUBLICATIE ARTIKELEN BEVATTEN INFORMATIE RECHTSTREEKS VAN BINNEN DE ORGANISATIE VOOR ONDERSTEUNING VAN MICROSOFT. DE INFORMATIE DIE IN DIT DOCUMENT IS GEMAAKT NAAR AANLEIDING VAN NIEUWE OF UNIEKE ONDERWERPEN, OF IS BEDOELD ALS AANVULLING OP ANDERE KNOWLEDGE BASE INFORMATIE.
Dit artikel is van toepassing op Microsoft Dynamics NAV voor alle landen en alle taalinstellingen.

Symptomen


Klanten van Microsoft Dynamics NAV blokkerende problemen ondervinden wanneer meerdere gebruikers dagboekposten, verkooporder posten, inkoop order- en soortgelijke taken in Microsoft Dynamics NAV 2009 SP1 invoeren.

Oorzaak


Hiermee vergrendelt u Microsoft SQL Server, problemen met blokkering kunnen worden veroorzaakt door ongewenste bereik in de SQL Server-database. Deze sloten bereik optreden wanneer uitgevoerd met het isolatieniveau SERIALIZABLE op Microsoft SQL server.


Microsoft Dynamics NAV gebruikt zonder de hotfix die in dit artikel wordt beschreven, het isolatieniveau SERIALIZABLE transactie in Microsoft SQL Server in schrijfbare transacties. Na het toepassen van deze hotfix is opgenomen, is het mogelijk zijn voor het configureren van Microsoft Dynamics NAV voor gebruik in plaats daarvan het isolatieniveau HERHAALBARE lezen.

Oplossing


U kunt dit probleem oplossen door de volgende stappen uit te voeren:
  1. De hotfix toepassen die wordt beschreven in dit artikel.
  2. Microsoft Dynamics NAV voor het gebruik van het isolatieniveau HERHAALBARE lezen in Microsoft SQL Server configureren. U kunt dit doen door de vlag 4194304 in het veld diagnostische gegevens van de tabel $ndo$ dbproperty in de Microsoft Dynamics NAV-database. Als u de vlag 4194304, voert de volgende TSQL-instructie in de Microsoft Dynamics NAV SQL-database:
    update [$ndo$dbproperty] set diagnostics = diagnostics | 4194304
    Ga naar het onderwerp 'Isolatieniveaus in de Database-Engine' op Microsoft MSDN voor meer informatie over het isolatieniveau van de transactie Microsoft SQL Server.
Inschakelen van het isolatieniveau HERHAALBARE lezen in Microsoft Dynamics NAV wordt algemene prestaties verbeteren in situaties waarin meerdere gebruikers blokkeren ondervinden wanneer ze bij het invoeren van journaalposten, verkooporder posten, inkoop order- en soortgelijke taken.

Het verschil tussen het isolatieniveau SERIALIZABLE transactie en het isolatieniveau HERHAALBARE lezen transactie is dat SERIALISEERBAAR transactie-isolatieniveau biedt bescherming tegen phantom leest. Transactie-isolatieniveau HERHAALBARE lezen inschakelen introduceert daarom een theoretisch risico van phantom leesbewerkingen. In het volgende voorbeeld ziet u wat dit betekent vanuit het perspectief van een C/AL.


Opmerking Microsoft verstrekt programmeervoorbeelden dienen uitsluitend ter illustratie expliciete of impliciete. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure. Zij zal deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten echter niet wijzigen.
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;

Alle bestaande records worden vergrendeld tijdens de eerste 'Herhalen totdat' lus met het isolatieniveau SERIALIZABLE transactie, en ook andere gebruikers van het invoegen van nieuwe records in het opgegeven bereik worden geblokkeerd. De record die geen Document = 2, regel Nee = 1, ook worden geblokkeerd. De tweede lus Lees daarom altijd hetzelfde resultaat als de eerste lus. Met het HERHAALD lezen transactie isolatieniveau, kunt iemand in theorie een nieuwe record in het genoemde bereik wel als een extra record in de tweede lus invoegen.

Voer hiervoor de vlag 4194304 de volgende TSQL-instructie:
update [$ndo$dbproperty] set diagnostics = diagnostics ^ 4194304
Microsoft raadt u aan grondig testen voordat u wijzigingen aanbrengt in een productieomgeving om ervoor te zorgen dat er geen onverwachte resultaten zijn.

Informatie over de hotfix

Een ondersteunde hotfix is beschikbaar bij Microsoft. Er is een sectie 'Hotfix kan worden gedownload' aan het begin van dit Knowledge Base-artikel. Als u een probleem downloaden ondervindt, installeren van deze hotfix of andere technische vragen hebt, neem contact op met uw partner of als ingeschreven in een ondersteuningsplan rechtstreeks met Microsoft, kunt u contact opnemen met technische ondersteuning voor Microsoft Dynamics en een nieuw ondersteuningsverzoek. Hiertoe gaat u naar de volgende Microsoft-website:U kunt ook telefonisch contact op met technische ondersteuning voor Microsoft Dynamics voor land bepaalde telefoonnummers met behulp van deze koppelingen. Hiertoe gaat u naar een van de volgende Microsoft-websites:

PartnersKlantenIn speciale gevallen kunnen kosten die verbonden zijn aan ondersteuningsoproepen ondersteuning worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten van toepassing op alle extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.



Het e-mailbericht bevat een hyperlink en een wachtwoord. De hyperlink kunt u de Microsoft Dynamics NAV-hotfix of de updatebestanden te downloaden. Wanneer u op de hyperlink klikt, wordt het dialoogvenster Bestand downloaden-Beveiligingswaarschuwing geopend. Vervolgens wordt u gevraagd uitvoeren, opslaan of het downloadproces.


Als u op uitvoerenklikt, worden de bestanden start het downloaden en het proces van extractie. U moet een map opgeven voor de nieuwe bestanden en vervolgens het wachtwoord opgeven.


Als u op Opslaanklikt, moet u een pad voor het opslaan van het gecomprimeerde bestand. Wanneer u het opgeslagen bestand opent, wordt u gevraagd een pad voor de bestanden op te geven. U moet vervolgens het wachtwoord in het e-mailbericht opgeven.


Als u op Annulerenklikt, wordt het downloadproces gestopt.



Het installeren van een Microsoft Dynamics NAV-hotfix of een updatebestand

De Microsoft Dynamics NAV Platformhotfixes en updates worden beschikbaar gesteld als afzonderlijke bestanden. Als u een Microsoft Dynamics NAV-hotfix of update installeert, moet u de bestaande bestanden van Microsoft Dynamics NAV-installatie met de hotfix of de updatebestanden vervangen. Ga hiervoor als volgt te werk.

Stap 1: Vervang de bestanden in de installatie van Client voor Microsoft Dynamics NAV Classic

In de installatie van Client voor Microsoft Dynamics NAV Classic, vervangt de volgende bestanden met de hotfix of de updatebestanden.
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
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
Ter vervanging van de bestaande bestanden van Microsoft Dynamics NAV als volgt te werk:
  1. Sluit de Microsoft Dynamics NAV Classic-Client.
  2. Ga naar de installatiemap voor de Client voor Microsoft Dynamics NAV Classic. De klassieke Client voor Microsoft Dynamics NAV wordt meestal in de volgende map geïnstalleerd:
    C:\Program Files\Microsoft Dynamics NAV\60\Classic
  3. Kopieer de bestanden die u hebt gedownload.
  4. Plak de bestanden die u hebt gedownload in de installatiemap voor de Client voor Microsoft Dynamics NAV Classic.
  5. Klik op Ja om te overschrijven de bestanden in de directory.

Stap 2: Vervang de bestanden in de installatie van Microsoft Dynamics NAV rolgerichte Client

In de installatie van Microsoft Dynamics NAV rolgerichte Client, vervangt de volgende bestanden met de hotfix of de updatebestanden.
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
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.tlbNiet van toepassing2,64408-Feb-201012:14Niet van toepassing
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
Ter vervanging van de bestaande bestanden van Microsoft Dynamics NAV als volgt te werk:
  1. Sluit de Microsoft Dynamics NAV rolgerichte client.
  2. Ga naar de installatiemap van Microsoft Dynamics NAV rolgerichte Client.

    De Microsoft Dynamics NAV rolgerichte client wordt meestal in de volgende map geïnstalleerd:

    C:\Program Files\Microsoft Dynamics NAV\60\RoleTailored Client
  3. Kopieer de bestanden die u hebt gedownload.
  4. Plak de bestanden die u hebt gedownload in de installatiemap van Microsoft Dynamics NAV rolgerichte Client.
  5. Klik op Ja om te overschrijven de bestanden in de directory.

Stap 3: Vervang de bestanden in de installatie van Microsoft Dynamics NAV Application Server

Als u Microsoft Dynamics NAV Application Server is geïnstalleerd, vervangt de volgende bestanden in de Microsoft Dynamics NAV Application Server-installatie met behulp van de hotfix of de updatebestanden.
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
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
Ga als volgt te werk om de bestanden te vervangen.
  1. Stop de Microsoft Dynamics NAV Application Server.
  2. Ga naar de installatiemap van Microsoft Dynamics NAV Application Server. Microsoft Dynamics NAV Application Server wordt meestal in de volgende map geïnstalleerd:
    C:\Program Files\Microsoft Dynamics NAV\60\Application Server
  3. Kopieer de bestanden die u hebt gedownload.
  4. Plak de bestanden die u hebt gedownload in de installatiemap van Microsoft Dynamics NAV Application Server.
  5. Klik op Ja om te overschrijven de bestanden in de directory.
  6. Start Microsoft Dynamics NAV Application Server.

Stap 4: Vervang de bestanden in de installatie van Microsoft Dynamics NAV Server

In de installatie van Microsoft Dynamics NAV Server vervangt de volgende bestanden met de hotfix of update-bestand.
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
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.etxNiet van toepassing89,52508-Feb-201008:28Niet van toepassing
Nclcsrt.stxNiet van toepassing91,72408-Feb-201008:28Niet van toepassing
Nclcsrts.dll6.0.30609.01,462,60808-Feb-201015:32x86
Ndbcs.dll6.0.30609.01,348,94408-Feb-201015:32x86
Ter vervanging van deze bestanden als volgt te werk:
  1. De Microsoft Dynamics NAV-Server stoppen.
  2. Ga naar de installatiemap van Microsoft Dynamics NAV Server.

    Microsoft Dynamics NAV Server wordt meestal in de volgende map geïnstalleerd:

    C:\Program Files\Microsoft Dynamics NAV\60\Service
  3. Kopieer de bestanden die u hebt gedownload.
  4. Plak de bestanden die u hebt gedownload in de installatiemap van Microsoft Dynamics NAV Server.
  5. Klik op Ja om te overschrijven de bestanden in de directory.
  6. Start de Microsoft Dynamics NAV-Server.

Vereisten

U moet Microsoft Dynamics NAV 2009 Service Pack 1 is geïnstalleerd om deze hotfix te kunnen hebben.

Status


Microsoft heeft bevestigd dat dit een fout in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.

Meer informatie


Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

824684 beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven

MICROSOFT EN/OF HAAR LEVERANCIERS MAKEN GEEN VERKLARINGEN OF GARANTIES OVER DE GESCHIKTHEID, DE BETROUWBAARHEID OF DE JUISTHEID VAN DE INFORMATIE DIE IS OPGENOMEN IN DE DOCUMENTEN EN BIJBEHORENDE GRAFISCHE GEPUBLICEERD OP DEZE WEBSITE (DE "MATERIALEN") VOOR GEEN ENKEL DOEL.

DE MATERIALEN KUNNEN TECHNISCHE ONNAUWKEURIGHEDEN OF TYPOGRAFISCHE FOUTEN BEVATTEN EN KUNNEN OP ELK GEWENST MOMENT ZONDER VOORAFGAANDE KENNISGEVING WORDEN GEWIJZIGD. VOOR ZOVER MAXIMAAL TOEGESTAAN ONDER TOEPASSELIJK RECHT, MICROSOFT EN/OF HAAR LEVERANCIERS WIJZEN EN ALLE VERKLARINGEN, GARANTIES EN VOORWAARDEN UITSLUITEN OF UITDRUKKELIJK, IMPLICIET OF WETTELIJK ZIJN, INCLUSIEF MAAR NIET BEPERKT TOT DE VERKLARINGEN, GARANTIES OF VOORWAARDEN VAN TITEL, NIET-INBREUK, TOEREIKENDE VOORWAARDE OF KWALITEIT, VERKOOPBAARHEID EN GESCHIKTHEID VOOR EEN BEPAALD DOEL, MET BETREKKING TOT DE GEBRUIKTE MATERIALEN.