最近与我一起工作的一位同事告诉我,SQL Express 和 MS Access 本质上是同一件事;这似乎不是一个准确的说法。我知道您可以将 Access 转换为 SQL DB,也许在本质上它们是相似的,但我假设 SQL DB 引擎和用于运行 access 的引擎并不相同。不仅如此,我知道的SQL语句语法等也不一样。
我主要是想了解,以便对版本有更多了解。
最佳答案
嗯,不,不一样。
首先,我需要澄清一些术语。 MS Access 是一种快速应用程序开发 (RAD) 工具,可让您快速构建与关系数据绑定(bind)的表单和报告。它配备了基于文件的数据库引擎(Jet/ACE)。
Access RAD 工具可与许多不同的后端数据库(Jet、SQL Server、任何支持 ODBC 的数据库等)一起使用。我必须假设您的同事专门评论了 Jet/ACE,即 MS Access 使用的数据库引擎。
我认为 Jet/ACE database engine 之间最大的区别和 MS SQL Server Express其特点是Jet/ACE 是基于文件的,而SQL Server Express 使用客户端/服务器模型。这意味着 SQL Server Express 需要正在运行的服务来提供对数据存储的 Access 。在某些情况下,这可能会使部署变得复杂。
SQL Server Express 实际上只是 SQL Server 的缩减版本:最大数据库大小为 4GB(2008R2 中为 10GB)、仅使用单个物理 CPU 等。施加这些限制是为了防止大型组织自由使用可用 Express 版本代替完整的 SQL Server 安装。结果是 SQL Server Express 提供了真正无缝的 SQL Server 升级路径。 (一般来说)它也是比 Jet/ACE 更强大、功能更齐全的数据库管理系统。
相似之处
- 关系数据库管理系统
- 由 Microsoft 编写
差异
- MS Access
- 基于文件
- 免费的可分发运行时(2007 年或更高版本)
- RAD 工具(表单/报表设计器)
- 使用 Jet SQL
- 最大文件大小 2GB
- SQL Server Express
- 客户端/服务器模型
- 免费
- 没有 RAD 工具
- 使用 Transact-SQL
- 最大数据库大小 4GB(SSE R2 为 10GB),最多 1 个物理 CPU
关于sql-server - SQL Server Express 与 MS Access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704654/