過去数週間、私が働いている会社では、サーバー上でファイルが何かによってロックされ、ロックを解除できないという問題が発生しています。これらのファイルは、ほとんどの場合、Windowsファイル共有を介してアクティブにアクセスされているファイルです。人気のある nlocker プログラムをダウンロードしましたが、ファイルのロックが見つかりません。 openfiles.exe(または[システムツール]> [共有フォルダー]> [ファイルを開く])では、ファイルが何によっても開かれているとは表示されません。それでも、メモ帳を含め、何でも開くことができません。ローカルシステム管理者としてファイルにアクセスしている場合でも、システムはアクセス許可拒否エラーを表示します。サーバーを再起動すると、問題は常に解消されます。
さらに悪いことに、私もこのエラーをまったく再現できませんでした。その頻度は、毎日から1週間まで、完全に正常に機能しています。問題が発生した場合、問題を調査する時間はほとんどありません。問題が10回に9回発生すると、本番システムが完全に機能しなくなり、管理者がサーバーを再起動する必要があるためです。
問題は、単一のアプリケーションに限定されません。ファイル共有トラフィックの大部分は、本番管理ソフトウェア Globalshop にあるため、問題は通常、どこかに現れますが、最近発生したのは、Globalshopとは完全に別のMicrosoftAccessデータベースでした。
誰かがこのようなものを見たことがありますか?何がそれを引き起こす可能性があるのか考えていますか?他に必要な情報がありましたらお知らせください。
現在、Windows Server 2003 StandardEditionを実行しています。
[編集]権限を確認しようとしましたが、問題のあるファイルでそれらへのアクセスも許可されていません。ファイルを開いたり、移動したり、削除したり、名前を変更したり、コピーしたりすることさえできません。
[edit2]問題のある2つのファイルを分離することができました。他の本番環境を妨げる問題が発生しない限り、私は経営陣から、サーバーを1日中オンラインにしてテストすることを許可されています。
[edit3] Brettskiはコメントで、ファイルのパーミッションを調べることを提案しました。問題のあるファイルの1つのプロパティウィンドウのスクリーンショットを撮りました。ご覧のとおり、利用可能な権限はありません。 http://i43.tinypic.com/24xgpe8.png (これはフルアクセス権を持つシステム管理者として開かれます。)
Handle.exe( http://technet.Microsoft.com/en-us/sysinternals/bb896655.aspx )を取得し、サーバーコンピューターで「handle-a」を実行して出力をにリダイレクトします。テキストファイル。影響を受けるファイル名を検索します。これで、少なくともサーバーコンピューター上のどのプロセスがファイルに対して開いているハンドルを持っているかがわかります。どのプロセスがそれを処理するのか知りたいです。 (可能性としてアンチウイルスソフトウェアについて疑問に思っています...)
ところで、GlobalShopに対処しなければならなかったことをお悔やみ申し上げます。
編集:
McAfee VirusScan 8、え?これを見てください: https://kc.McAfee.com/corporate/index?page=content&id=KB52156
Microsoft Officeファイルを指しますが、あらゆる種類のファイルに影響を与える可能性があるように思われます。参照:
http://forums.mcafeehelp.com/showthread.php?t=223545
Procmon は、どのプロセスがどのファイルを使用しているかをログに記録できるため、ここでの最善の解決策かもしれません。ファイルがopenfilesに表示されていない場合でも、procmonは誰がファイルを開いたかをログに記録します。これらの場合、ウイルス対策ソフトウェアが通常の原因です。
ファイルサーバー(Windows Storage Server 2003 R2 x64)でも同様の問題が発生しています。小さな一時ファイル(通常は.ldb「ロック」ファイルにアクセスしますが、さまざまなプロセスに使用される一時ファイルもあります)のみで、場所、サイズ、名前、またはタイプにパターンはありません。ファイルはアクセス許可にアクセスできずにロックされました。ロック解除プログラム(私はEMCO UnLock ITを使用していたので、親指を立てます)は、ファイルをロックされているものとして保持しているプログラムを認識しませんでした。再起動すると常に問題が解決しましたが、それは主要なPITAであり、その特定のサーバーですべてのファイルが使用されていました。
ここでのコメントに基づいて、そのサーバーでAVソフトウェアをオフにしました。再起動せずに、少し前に触れられなかったファイルが消えました(とにかく削除されるべきであった一時ファイルだったので、これは良いことでした)。
AVソフトウェアはCAeTrustAntivirusv。7.1です。私は(後知恵の助けを借りて)古いソフトウェア+ x64 OS =時折悪いことだと推測しています。 :-)
議論してくれたSeanとEvanに感謝します。
nlocker 可能性があるようです。まだ試す機会がないので、その仕組みを教えてください。
はい、これは非常に古いトピックです。ただし、その理由と解決策については、Windowsでの日和見ファイルロックの動作に関するこのページで詳しく説明しています。ページの最後にある「MSWindowsOplocks andCachingControls」という見出しの下のコンテンツを参照してください。
リンク: https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html
冒頭の段落は、これが関連する理由の手がかりです(ほぼ正確にOPが直面したもの):
Windows 2000/XPワークステーションコンピュータでアプリケーション(ノートンアンチウイルスなど)を実行すると、ネットワーク経由で共有データベースファイルにアクセスしようとするアプリケーションに影響を与える可能性があるという既知の問題があります。これは次の結果です。 Windows 2000/XPオペレーティングシステムで構成されているデフォルト設定。ワークステーションが別のWindows2000/XPコンピュータにある共有データファイルにアクセスしようとすると、Windows 2000/XPオペレーティングシステムはファイルをロックして情報をキャッシュすることにより、パフォーマンスを向上させようとします。これが発生すると、アプリケーションが正しく機能できなくなり、ネットワーク操作中に「アクセスが拒否されました」というエラーメッセージが表示されます。
それが役に立てば幸い。