Windows文件共享孤立的文件锁

在过去的几个星期里,我工作的公司一直在服务器上出现问题,其中一个文件被某些东西锁住,无法解锁。 这些文件几乎总是通过Windows文件共享被主动访问的文件。 我已经下载了stream行的解锁程序,但是无法find文件上的任何locking。 openfiles.exe(或系统工具>共享文件夹>打开文件)不显示文件被任何东西打开。 然而,我无法打开任何东西,包括记事本 – 即使以本地系统pipe理员的身份访问文件,系统也会给我一个拒绝错误的权限。 当服务器重新启动时,问题总是消失。

更糟糕的是,我也一直无法重现这个错误。 它的频率是从每天到一周工作完美的任何地方。 当问题发生时,我几乎没有时间去调查,因为十分之九的问题使我们的生产系统完全失去function,pipe理层希望服务器重新启动。

问题也不仅限于一个应用程序。 大部分文件共享stream量都在我们的生产pipe理软件Globalshop中 ,所以这个问题通常会在那里出现,但是最近发生的事情是在Microsoft Access数据库中与Globalshop完全分开。

有没有人看过像这样的东西? 任何想法可能会导致它? 如果有更多的信息,请告诉我。

我们目前正在运行Windows Server 2003标准版。

我已经尝试检查权限,但是我不允许访问这些以及有问题的文件。 我无法打开,移动,删除,重命名甚至复制文件。

我设法隔离两个有问题的文件。 只要没有其他生产干扰问题出现,我就被pipe理层授权让服务器保持在线状态,以便对其进行testing。

Brettski在评论中build议我查看文件权限。 我截取了一个有问题的文件的属性窗口的截图。 正如你所看到的,没有可用的权限。 http://i43.tinypic.com/24xgpe8.png (这是作为具有完全访问权限的系统pipe理员打开的。)

抓住Handle.exe( http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx ),并在服务器计算机上运行“句柄-a”将输出redirect到文本文件。 search那个受影响的文件名。 这应该至less告诉你在服务器计算机上的哪个进程有一个打开的文件句柄。 我有兴趣知道哪个进程有处理它。 (我想知道反病毒软件的可能性…)

我不得不面对GlobalShop的哀悼。

编辑:

McAfee VirusScan 8,呃? 看看这个: https : //kc.mcafee.com/corporate/index?page=content&id=KB52156

它指的是Microsoft Office文件,但它听起来像可能会影响任何types的文件。 也可以看看:

http://forums.mcafeehelp.com/showthread.php?t=223545

http://www.tek-tips.com/viewthread.cfm?qid=1453943&page=1

https://web.archive.org/web/1/http://techrepublic%2ecom%2ecom/5208-6230-0.html?forumID=101&threadID=207897&messageID=2632853

Procmon可能是您最好的解决scheme,因为它能够logging哪些进程正在使用哪些文件。 即使文件没有显示在openfiles procmon将logging谁打开它。 杀毒软件是这些案件中的罪魁祸首。

我在我们的文件服务器(Windows Storage Server 2003 R2 x64)上遇到了类似的问题。 只有很小的临时文件(通常是Access .ldb“locking”文件,还有用于各种进程的临时文件),没有位置或大小或名称或types的模式。 文件被locking,无权访问; 解锁程序(我正在使用EMCO UnLock IT,我将通过一个大拇指)没有看到任何程序保持文件locking。 重新启动总是解决了问题,但是这是一个主要的PITA,每个人都有一些在该服务器上使用的文件。

根据这里的评论,我关掉了该服务器上的AV软件。 不用重新启动,刚才那个不可触及的文件就消失了(这是一个本来应该删除的临时文件,所以这是一件好事)。

AV软件是CA eTrust Antivirus v。7.1。 我猜(事后的看法),旧软件+ x64操作系统=偶尔的坏事情。 🙂

感谢Sean和Evan的讨论。

Unlocker似乎有潜力。 我还没有机会尝试,所以让我知道它是如何工作的。

这是一个很老的话题,是的。 但是这个原因和解决scheme在这个页面中详细介绍了Windows中的机会文件locking行为。 请参阅页面末尾标题为“MS Windows Oplocks and Caching Controls”的内容。

链接: https : //www.samba.org/samba/docs/man/Samba-HOWTO-Collection/locking.html

开头的段落是为什么这是相关的(几乎正是OP所面临的)的线索:

在Windows 2000 / XP工作站计算机上运行应用程序(如Norton Antivirus)时存在一个已知问题,该应用程序可能会影响试图通过networking访问共享数据库文件的任何应用程序。 这是在Windows 2000 / XP操作系统中configuration的默认设置的结果。 当工作站尝试访问位于其他Windows 2000 / XP计算机上的共享数据文件时,Windows 2000 / XP操作系统将尝试通过在本地locking文件和caching信息来提高性能。 发生这种情况时,应用程序无法正常工作,这将导致networking操作期间显示“访问被拒绝”错误消息。

希望能帮助到你。