需要帮助解决前端和后端的 Access 数据库在超过 1 个用户的情况下运行速度非常慢的问题

需要帮助解决前端和后端的 Access 数据库在超过 1 个用户的情况下运行速度非常慢的问题

我们让一位顾问为客户安装了一个基于 Access 2007 的数据库,它有一个前端(在每个工作站上),我猜还有数据库后端(在文件服务器上,它是一个服务器 2003 域控制器,具有非常新的硬件、内存等...)。

当我们从工作站启动数据库时,我们会看到典型的登录屏幕,当用户登录并且数据库界面上只有一个用户时,整个过程会非常快,击键也非常快等等。

一旦另一个用户登录数据库界面或程序,一切都会缓慢地停止。字段框中的按键需要很长时间才能出现,例如,如果您输入单词“find”,则会出现 f,然后大约 10 秒后会出现“i”,10 秒后会出现“n”,然后是“d”。

目前向我们出售数据库的公司建议采用反复试验的方法,而我对破解服务器上的注册表只是为了看看是否会产生影响不感兴趣。

我迫切需要帮助,因为我没有时间或对数据库不感兴趣,请在此方面提出所有建议。

需要注意的是,网络从布线到交换机再到其他连接都没有问题。使用任何工作站浏览文件服务器和打开文件、电子邮件、互联网等都非常快。唯一停止正常工作的是数据库。

答案1

欢迎使用基于 Microsoft Access 的数据库和共享文件数据库“技术”。值得庆幸的是,目前的问题主要与速度有关(而使用以前的 Windows 操作系统版本可能会发生彻底的数据损坏)。

您看到速度大幅下降,是因为当多个客户端访问同一个数据库文件时,服务器必须更加谨慎地向客户端授予锁定。当只有一个客户端访问文件时,服务器可以允许客户端获得“机会锁定”并在本地缓存更多数据。多个客户端使服务器计算机的情况更加严格,因为必须保持客户端之间关于文件明显内容的一致性。

您可能能够通过调整服务器计算机上的“服务器服务”(LanManServer)中的设置来获得一些增量性能,但您永远不会看到多个用户与单个用户相同的性能。

如果您真的希望看到它表现良好,我建议您评估将后端数据库“升级”为 SQL Express 或其他真正的客户端/服务器数据库引擎的可能性。如果“后端”只是“前端”使用“链接表”功能访问的表的集合,那么它非常适合迁移到 SQL Express 实例。顾问只需使用适用于 Microsoft Access 的 SQL Server 迁移助手

除了客户端/服务器模式,速度更快之外,SQL Express 还为您提供了一种不错的在线备份方式(当用户正在使用数据库时)。即使用户“忘记”关闭应用程序,您仍可获得备份,而使用 Access 时,后端文件将被“锁定”且无法备份。

使用 SQL Server / SQL Express 作为后端的优势列表太长,无法在此列出,但我怀疑您的顾问不熟悉这些优势,因为他们一开始就没有使用 SQL Server / SQL Express。如果您决定以后扩展/增强应用程序,您可能需要考虑聘请另一位顾问。

答案2

我很抱歉没有详细审查 Server Fault 中的 MS Access 问题。

1) 这是一个众所周知的问题,在 MS Access 社区中有一个简单解决方案。如果 Access 应用程序的顾问或开发人员不知道这个问题和解决方案,我怀疑他们的技术能力。

2)查看账户ess 性能常见问题解答我从 1997 年左右开始维护这个页面。特别是第一个关于 LDB 锁定的链接将解决第二个用户导致应用程序变慢的问题。

答案3

您可能需要安装SQL Server Express,它是免费的,数据库大小限制为 10GB——比 Access 大得多——在 DC 上,并通过 ODBC 将各个表链接到 Access 前端。对于多个用户,这种方式可能会获得更好的性能,并且按照您当前的设置,即使对于 1 个用户,Access 也可能占用大量网络资源。

答案4

这也发生在我身上但我解决了它 1-创建一个空白数据库。 2-从菜单栏转到外部数据。 3-从导入和链接单击访问以导入。 4-找到你的后端并单击它。 5-导入你后端上的所有表。 6-将你的新后端重命名为旧后端。 7-将所有用户的前端链接到新后端。

100 作品

相关内容