Microsoft Dynamics NAV 2009 SP1 の Microsoft SQL Server の直列化の分離レベルを使用してが原因で発生するブロッキングの問題

適用対象: Dynamics NAV 2009

迅速な発行記事は、マイクロソフト サポート組織内から直接情報を提供します。新興または一意応答でここに含まれる情報が作成されたトピック、または、その他のサポート技術情報を補足するものでは。
この資料では、すべての国と言語ロケールのすべての Microsoft Dynamics NAV に該当します。

現象


Microsoft Dynamics NAV のお客様は、複数のユーザーが Microsoft Dynamics NAV 2009 sp1 では仕訳帳のエントリ、エントリの販売注文、購買注文のエントリと同様のタスクを入力すると、ブロッキングの問題にすることがあります。

原因


不要な範囲でのブロッキングの問題を発生可能性が Microsoft SQL Server の SQL Server データベースをロックします。これらの範囲のロックは、Microsoft SQL server でシリアル化可能な分離レベルで実行されている場合に発生します。


せず、この資料に記載されている修正プログラムは、Microsoft Dynamics NAV は、書き込み可能なトランザクションで Microsoft SQL Server でシリアル化可能なトランザクション分離レベルを使用します。この修正プログラムを適用すた後には、REPEATABLE READ の分離レベルを使用するように、Microsoft Dynamics NAV を構成することがあります。

解決策


この問題を解決するには、次の手順を実行します。
  1. この資料に記載されている修正プログラムを適用します。
  2. Microsoft SQL Server に REPEATABLE READ の分離レベルを使用するのには、Microsoft Dynamics NAV を構成します。4194304 $ndo$ dbproperty データベース内のテーブル、Microsoft Dynamics NAV の診断フィールドにフラグを有効にすることによってこれを行うことができます。4194304 フラグを有効にするには、Microsoft Dynamics NAV の SQL データベースに、次の TSQL ステートメントを実行します。
    update [$ndo$dbproperty] set diagnostics = diagnostics | 4194304
    Microsoft SQL Server のトランザクション分離レベルの詳細については、マイクロソフトの MSDN のトピック「データベース エンジンの分離レベル」を参照してください。
Microsoft Dynamics NAV の REPEATABLE READ の分離レベルを有効にすると、複数のユーザーは仕訳帳のエントリ、エントリの販売注文、購買注文のエントリと同様のタスクを入力しているときのブロッキングが発生している状況での全般的なパフォーマンスが向上します。

シリアル化可能なトランザクションの分離レベルと反復可能読み取りトランザクション分離レベルの違いは、ファントム読み取りに対してシリアル化可能なトランザクションの分離レベルを保護することです。したがって、反復可能読み取りトランザクションの分離レベルを有効にすると、ファントム読み取りの理論上のリスクが導入されています。次の使用例は、C と AL の観点から意味を示しています。


マイクロソフトでは、プログラミングの例だけで明示または黙示の保証もないです。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能について説明することができます。ただし、お客様固有の要件を満たすために、追加機能の提供またはプロシージャの作成のために、これらの例に変更を加えたりはしません。
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;

シリアル化可能なトランザクション分離レベルでは、最初の"REPEAT UNTIL"ループの中に既存のすべてのレコードがロックされ、他のユーザーは指定した範囲内の新しいレコードを挿入することからもブロックされます。ドキュメントのないレコード 2、明細行番号を = = 1 もブロックされます。したがって、2 番目のループは常に最初のループとまったく同じ結果を読みます。REPEATABLE READ トランザクションの分離レベルでは、理論的には 2 番目のループで追加のレコードとして表示されますが記述されている範囲内の新しいレコードを挿入人できます。

4194304 フラグを無効にするには、次の TSQL ステートメントを実行します。
update [$ndo$dbproperty] set diagnostics = diagnostics ^ 4194304
予期しない結果がないことを確認するのには実際の環境に変更を加える前に徹底的にテストすることをお勧めします。

修正プログラムの情報

サポートされている修正プログラムは、マイクロソフトから入手可能です。このサポート技術情報の記事の上部に「修正プログラムのダウンロード」セクションがあります。発生している問題をダウンロードする、この修正プログラムをインストールした場合、またはその他のテクニカル ・ サポートのご質問がある場合、パートナーにお問い合わせくださいまたは場合は、マイクロソフトから直接サポート プランに登録すると、Microsoft Dynamics のテクニカル サポートに連絡して新しいサポート要求を作成します。 これを行うには、次のマイクロソフト Web サイトを参照してください。これらのリンクを使用して、国の特定の電話番号を電話で Microsoft Dynamics のテクニカル サポートに連絡することができます。 これを行うには、次のマイクロソフト Web サイトを参照してください。

パートナーお客様かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定の更新プログラムの対象とならない問題は、通常のサポート料金が適用されます。



電子メールのハイパーリンクとパスワードが含まれます。ハイパーリンクを使用すると、Microsoft Dynamics NAV の修正プログラムまたは更新プログラムのファイルをダウンロードします。ハイパーリンクをクリックすると、ファイルのダウンロード-セキュリティ警告] ダイアログ ボックスが開きます。次に、実行、保存、またはダウンロードをキャンセルする求められます。


実行をクリックすると、ファイルはダウンロードし、抽出処理を開始します。新しいファイル用のフォルダーを指定し、パスワードを入力し、必要があります。


保存] をクリックする場合は、圧縮されたファイルを保存するパスを指定する必要があります。保存したファイルを開くと、ファイルのパスを指定するのには求められます。電子メールに記載されているパスワードを入力する必要があります。


[キャンセル] をクリックする場合、ダウンロード処理を停止します。



Microsoft Dynamics NAV の修正プログラムまたは更新プログラム ファイルをインストールする方法

Microsoft Dynamics NAV のプラットフォームの修正プログラムおよび更新可能に 1 つのファイルとなります。Microsoft Dynamics NAV の修正プログラムまたは更新プログラムをインストールするには、Microsoft Dynamics NAV のインストールで既存のファイルの修正プログラムまたは更新プログラムのファイルを置き換える必要があります。そのためには、以下の手順を実行します。

手順 1: Microsoft Dynamics NAV の従来のクライアントのインストールでファイルを置換します。

Microsoft Dynamics NAV の従来のクライアントのインストールでは、修正プログラムまたは更新プログラムのファイルを使用して、次のファイルを交換してください。
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
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
Microsoft Dynamics NAV の既存のファイルを置き換えるには、次の手順を実行します。
  1. Microsoft Dynamics NAV の従来のクライアントを終了します。
  2. Microsoft Dynamics NAV の従来のクライアントのインストール ディレクトリを検索します。Microsoft Dynamics NAV のクラシック クライアントは通常、次のディレクトリにインストールされます。
    C:\Program ファイル Dynamics NAV\60\Classic
  3. ダウンロードしたファイルをコピーします。
  4. Microsoft Dynamics NAV の従来のクライアントのインストール ・ ディレクトリにダウンロードしたファイルを貼り付けます。
  5. はいディレクトリ内のファイルを上書きする] をクリックします。

手順 2: は、Microsoft Dynamics NAV の RoleTailored クライアントのインストールでファイルを置き換える

Microsoft Dynamics NAV RoleTailored クライアントのインストールでは、修正プログラムまたは更新プログラムのファイルを使用して、次のファイルを交換してください。
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
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.tlb該当なし2,64408-Feb-201012:14該当なし
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
Microsoft Dynamics NAV の既存のファイルを置き換えるには、次の手順を実行します。
  1. Microsoft Dynamics NAV RoleTailored クライアントを終了します。
  2. Microsoft Dynamics NAV RoleTailored クライアントのインストール ディレクトリを検索します。

    Microsoft Dynamics NAV RoleTailored クライアントは通常、次のディレクトリにインストールされます。

    C:\Program ファイル Dynamics の NAV\60\RoleTailored クライアント
  3. ダウンロードしたファイルをコピーします。
  4. Microsoft Dynamics NAV RoleTailored クライアントのインストール ・ ディレクトリにダウンロードしたファイルを貼り付けます。
  5. はいディレクトリ内のファイルを上書きする] をクリックします。

手順 3: Microsoft Dynamics NAV のアプリケーション サーバーのインストールでファイルを交換します。

インストールされている Microsoft Dynamics NAV のアプリケーション サーバーを使っている場合は、以下のファイルの修正プログラムを使用して、Microsoft Dynamics NAV のアプリケーション サーバーのインストールまたは更新プログラムのファイルを交換してください。
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
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
ファイルを置き換えるには、以下の手順を実行します。
  1. Microsoft Dynamics NAV のアプリケーション サーバーを停止します。
  2. Microsoft Dynamics NAV のアプリケーション サーバーのインストール ディレクトリを検索します。Microsoft Dynamics NAV のアプリケーション ・ サーバは通常、次のディレクトリにインストールされます。
    C:\Program ファイル Dynamics の NAV\60\Application サーバー
  3. ダウンロードしたファイルをコピーします。
  4. Microsoft Dynamics NAV のアプリケーション サーバーのインストール ・ ディレクトリにダウンロードしたファイルを貼り付けます。
  5. はいディレクトリ内のファイルを上書きする] をクリックします。
  6. Microsoft Dynamics NAV のアプリケーション サーバーを起動します。

手順 4: Microsoft Dynamics NAV のサーバーのインストールでファイルを置換します。

Microsoft Dynamics NAV のサーバーのインストールでは、修正プログラムまたは更新プログラムのファイルを使用して、次のファイルを交換してください。
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
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.etx該当なし89,52508-Feb-201008:28該当なし
Nclcsrt.stx該当なし91,72408-Feb-201008:28該当なし
Nclcsrts.dll6.0.30609.01,462,60808-Feb-201015:32x86
Ndbcs.dll6.0.30609.01,348,94408-Feb-201015:32x86
これらのファイルを置き換えるには、次の手順を実行します。
  1. Microsoft Dynamics NAV のサーバーを停止します。
  2. Microsoft Dynamics NAV のサーバーのインストール ディレクトリを検索します。

    Microsoft Dynamics NAV のサーバーは通常、次のディレクトリにインストールされます。

    C:\Program ファイル Dynamics NAV\60\Service
  3. ダウンロードしたファイルをコピーします。
  4. Microsoft Dynamics NAV のサーバーのインストール ・ ディレクトリにダウンロードしたファイルを貼り付けます。
  5. はいディレクトリ内のファイルを上書きする] をクリックします。
  6. Microsoft Dynamics NAV のサーバーを起動します。

必要条件

Microsoft Dynamics NAV 2009 Service Pack 1 インストールこの修正プログラムを適用する必要があります。

状況


マイクロソフトでは、この問題をこの資料の「対象製品」として記載されている マイクロソフト製品の問題として認識しています。

詳細


詳細については、次の文書番号をクリックして、マイクロソフト サポート技術情報の資料をご参照ください。

824684マイクロソフトのソフトウェア更新プログラムを記述するために使用される一般的な用語説明

マイクロソフトおよびその供給者は、表現または適合性、信頼性、または含まれている情報の正確性に関する保証ドキュメントおよび関連のグラフィックスが目的でこの WEB サイト (以下「マテリアル」) の公開。

マテリアルは、技術的な誤りや誤植を含めることがあり、通知なしに随時改訂することがあります。法令により許される最大限の範囲において、マイクロソフトおよびその供給者ではありませんし、表現、保証、またはタイトル、非侵害、満足のいく条件または品質、商品、材料に関して、特定目的に対する適合性の条件に明示、黙示または法律の規定であり、しない場合はなどが制限されているかどうかは、すべての表現、保証、および条件を除外します。