【问题标题】:Recent rash of Microsoft Access database files in an inconsistent state最近出现大量 Microsoft Access 数据库文件处于不一致状态
【发布时间】:2020-08-10 01:13:10
【问题描述】:

运行我们构建的分离式前端/后端 Microsoft Access 应用程序的大量客户遇到频繁但间歇性的数据库文件损坏问题。打开后端文件时会出现此消息:“Microsoft Access 已检测到此数据库处于不一致状态,并将尝试恢复数据库...”

使用 Visual Basic 代码通过 DAO 打开数据库会导致错误代码 3343“无法识别的数据库格式”。

修复尝试成功,我们没有目睹任何数据丢失或主键、索引或关系丢失。大多数情况涉及后端文件位于共享网络驱动器上的位置。一些搜索表明最新的 Windows 10 更新 1803 是可疑的。有没有其他人遇到过这种情况?

【问题讨论】:

  • 这个问题有很多原因。很可能是您的网络。 BE 打开时连接丢失/间歇、LAN 流量、断电、磁盘空间不足等。请与网络 IT 部门联系。确保永远不要在非 Windows 环境、WAN 连接、硬盘驱动器/拇指驱动器和 Internet 文件夹(Dropbox、Google Drive 等)中运行 Access。
  • Parfait、LAN 流量、磁盘空间、非 Windows 环境、WAN、拇指驱动器和 Internet 文件夹在这种情况下已被排除在外。受影响的系统已稳定数月或数年。
  • 那么这些稳定的系统发生了什么变化?请编辑帖子,描述您的架构和环境。我们在这里讨论了多少个 BE/FE 系统?有多少用户?微软办公版?操作系统版本?服务器版本?否则这个问题太宽泛,无法回答。
  • 对于不编辑注册表的潜在解决方案,请参阅:stackoverflow.com/a/61116823/10956777

标签: vba database ms-access


【解决方案1】:

最近被举报severaltimes。可以在here 找到对此问题的非常全面的报道。

奇怪的是,至少在某些情况下,可以在旧的支持线程中找到解决方法:

Moved to Server 2012 getting Access Database Corruption

Cannot access shared files or folders on a drive in Windows Server 2012 or Windows Server 2012 R2

评论:

这有点奇怪,因为修复该问题的补丁已于 5 月发布 2014 已经安装在服务器上。

我只能这么认为 最新的 Windows 10 Build 1803 中的某些内容提出了该问题 再次因为正在运行该构建的 PC 导致了 问题。

修复将以下条目添加到 Vospers 服务器 2012 R2 注册表:

Key:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
Value: DisableLeasing
Type:  DWORD
Data:  0x1

我们在我们的服务器上对此进行了测试,问题就消失了。一旦我们 再次将“禁用租赁”值更改为“0”,问题 返回。

我还没有找到合理的解释来解释为什么会这样 上周已经开始发生,但如果它有效并且不会导致任何 其他地方的其他问题,我可以接受。

【讨论】:

  • Gustav,我们将测试您建议的注册表模式。谢谢。
  • 我只是在说。我自己还没有看到这个问题。
  • 应用此建议似乎为我们解决了“状态不一致”问题。我们的客户报告说他们的系统没有发生重大变化,但我们有足够多的客户几乎同时遇到了这个问题,这或多或少与 Build 1803 相吻合。
【解决方案2】:

另请注意,家庭组已从 Win10 1803 中删除。这可能会影响共享文件夹的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多