2

如果我在客户端-服务器类型软件的后端使用 MS Access,并且数据库文件从客户端发送到服务器,与 SQL Server 相比,它会在进一步的数据库处理、传输速度或性能方面产生任何问题吗?

4

4 回答 4

7

以我的经验,在基于 LAN 的小型环境中,MS Access MDB 文件和 SQL Server 性能之间存在 4 个主要差异(其中小型意味着 20 个用户或更少,并发用户会话不超过 10 个)

  1. 安全。使用访问 MDB 文件要求客户端可以直接访问 MDB 文件。如果您需要限制某些用户的数据访问,这种架构就不能真正安全。访问用户级别的安全可以被破解。如果满足您的安全要求,您可以在操作系统中使用文件级别或文件共享级别的安全性。
  2. 由于网络错误,MDB 文件容易损坏。我唯一一次看到 SQL Server 数据库损坏是由于服务器上的硬件故障。
  3. MDB 文件的上限约为 25 个用户,Access 对插入、更新和删除的高事务量很敏感。
  4. 在大多数情况下,使用 Access,您需要让所有用户退出数据库才能对表的结构进行任何更改。这比在 SQL Server 中使用 DDL 脚本方便得多。如果您决定使用 Access,我建议您获取LDBView的副本,这样您就可以知道每次对数据结构进行例行更改时必须将谁踢出数据库。

如果用户受众很小并且部署的简单性对客户组织很有吸引力,则可以使用后端 MDB 文件。但是,如果您正在开始一个新项目,则应仔细考虑 SQL Server 后端的优势。如果您有大量用户,那么强烈推荐使用 SQL Server。

将 MDB 文件与最新版本的 MS Access 和配置良好的 LAN 一起使用时,传输速度不太可能出现问题。

于 2010-07-17T19:27:38.480 回答
5

如果您使用 MS Access 作为后端数据库,它就不是客户端-服务器解决方案。Jet 数据库(MS Access 创建的那种)是基于文件的,而不是客户端服务器。

如果客户端和数据库之间的带宽很高(就像同一网络上的另一台服务器),那么它不应该造成任何与传输速度相关的主要性能问题。但是,如果您通过慢速 WAN 链接从客户端连接到数据库,则肯定会引入性能瓶颈。

于 2010-07-16T14:06:19.107 回答
2

我有一篇关于使用网络访问的文章,尤其是这里的 WAN 访问:

http://www.kallal.ca/Wan/Wans.html

于 2010-07-17T19:05:25.163 回答
0

这里已经有一些很好的答案。但经常被忽视的一点是,在某些情况下,使用轻量级 mdb 可以为您提供比重量级 SQL 服务器更高的性能。例如,如果多用户访问不是那么重要,但您必须对数据进行大量批处理,则使用 mdb 文件会快得多。另一方面,如果您有很多经典的 OLTP 处理与许多用户,您可以从真正的客户端/服务器数据库中受益。

于 2010-07-30T21:14:34.753 回答