日本語

問題: ファイル共有上のデータにアクセスしているときにロックを取得できない

説明

ユーザーが ArcGIS for Desktop 内でさまざまなワークフローを実行しているときに、ロックを取得できないというエラーが発生することがあります。 このデータが、ネットワーク接続ストレージ (NAS) または Samba を使用するその他のデバイスなどのファイル共有上に存在する場合、Windows SMB2 のキャッシュに伴う問題が存在する場合があります。 プログラムが、ロック ファイルなどのファイルを作成し、作成の直後にそのファイルが存在することを確認するときに、この問題が発生することがあります。

原因

この問題は、SMB2 Client Redirector のキャッシュ内の問題に起因します。 Windows Vista および Windows Server 2008 のリリースで、最近アクセスされたファイルおよびディレクトリの情報を返す処理を高速化するために、3 つのファイル メタデータ キャッシュが実装されました。 ただし、デフォルトでは、Windows 7 および Windows Server 2008 R2 のリリースで、これらのキャッシュは、10 秒ごとに更新されるように設定されます。 ArcGIS for Desktop のロックの作成の場合、このキャッシュ再生成が十分に高速ではありません。

詳細については、Microsoft TechNet の記事「SMB2 Client Redirector Caches Explained」をご参照ください。

解決策または対処法

ArcGIS for Desktop でこの問題を解決するには、レジストリを更新して、SMB2 のキャッシュを無効化する必要があります。

  1. コンピューター管理者として、[スタート] メニューを開き、「regedit.exe」と入力してレジストリ エディターを開きます。
  2. 次のレジストリ キーに移動します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters
  1. キー内に [DirectoryCacheLifetime] という名前が存在するかどうかを確認します。
  2. この名前が存在しない場合は、新しい 32 ビット DWORD を作成し (右クリックして [新規][DWORD 値] の順に選択する)、それに「DirectoryCacheLifetime」という名前を付けます。
  3. 「DirectoryCacheLifetime」という名前が存在するようになったら、DWORD 値を 0 に変更します。
Image of the registry editor
注意:
組織サイトの権限設定に応じて、これらのレジストリの変更後にコンピューターの再起動が必要になる場合があります。