我们有一位顾问为基于Access 2007的客户端(在每个工作站上)安装了一个数据库,并且我猜数据库的后端(在文件服务器上,它是一个服务器2003域控制器,具有非常stream行的硬件,记忆等…)。
当我们从工作站启动数据库时,我们会得到我们典型的login屏幕,当用户login时,数据库界面上只有一个用户,整个事情过得很快,按键非常快。
只要另一个用户login到数据库接口或程序,一切都会爬到缓慢的暂停状态。 例如,如果你input单词“find”,那么大约10秒钟后出现“i”,然后10秒钟后“n”,然后“d”出现。
目前把数据库出售给我们的公司提出了一个试验和错误的方法,而我并不希望黑客入侵服务器上的registry,看看它是否有所作为。
由于我没有时间或对数据库感兴趣,所以我急需帮助,欢迎提出所有build议。
要注意的是,networking从布线切换到其他连接没有问题。 使用任何工作站的文件服务器浏览和打开文件,电子邮件,互联网等工作都非常迅速。 唯一停止正常工作的是数据库。
欢迎使用基于Microsoft Access的数据库和一般的共享文件数据库“技术”。 值得庆幸的是,今天的问题主要与速度有关(而以前的Windows操作系统版本可能会出现超出正确的数据损坏)。
您将看到巨大的减速,因为当多个客户端访问同一个数据库文件时,服务器必须更加谨慎地将锁授予客户端。 当只有一个客户端访问文件时,服务器可以允许客户端获得“机会锁”,并在本地caching更多的数据。 多台客户机使服务器计算机的情况更加严格,因为客户机之间的一致性必须保持在文件的明显内容上。
您可以通过使用服务器计算机上的“服务器服务”(LanManServer)中的设置来获得一些增量性能,但是您永远不会看到与多用户相同的性能,就像使用单用户。
如果你真的想看到这个performance,我build议评估“升迁”后端数据库到SQL Express或其他一些真正的客户端/服务器数据库引擎的可能性。 如果“后端”只是“前端”使用“链接表”function访问的表集合,那么迁移到SQL Express实例是非常好的select。 顾问不必比使用SQL Server Migration Asstant for Microsoft Access做更多的事情。
除了作为客户端/服务器,并因此更快,SQL Express也将为您提供一个很好的方式进行在线备份(而用户正在积极使用数据库)。 用户可以“忘记”closures应用程序,并且仍然可以获得备份,而使用Access时,后端文件将被“locking”并且不可用于备份。
在后台使用SQL Server / SQL Express获得的好处列表太长了,尽pipe我怀疑你的顾问不熟悉它们,因为他们不打算使用SQL Server / SQL Express开始。 如果您稍后决定扩展/增强应用程序,您可能需要考虑聘请另一位顾问。
我很抱歉没有审查服务器故障很多MS Access的问题。
1)这是MS Access社区中一个简单的解决scheme众所周知的问题。 如果他们不了解问题和解决scheme,我怀疑Access应用程序的顾问或开发人员的技术能力。
2)请参阅我自1997年左右以来维护的“Acc Acc 性能常见问题”页面。 特别是关于LDBlocking的第一个链接将解决第二个用户使应用程序变慢的问题。
您可能需要安装免费的SQL Server Express ,其数据库大小限制为10GB(远大于Access),并通过ODBC将各个表连接到Access前端。 对于多个用户,您可能会以这种方式获得更好的性能,而且即使对于一名用户,Access也可以像您当前设置的那样成为networkingpipe理员。