sql-server - SQL Server Express 与 MS Access

标签 sql-server ms-access sql-server-express

最近与我一起工作的一位同事告诉我,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/

相关文章:

sql-server - 我们如何保护我们的数据免受 DBA 的侵害?

sql - 聚合不能出现在 WHERE 子句中 (MSSM studio)

sql-server - 确定哪个 SQL Server 数据库占用了 CPU 资源

sql-server - 删除其他表未引用的行的优雅方法

ms-access - VBA:声明新对象的两种方式的区别? (试图了解为什么我的解决方案有效)

sql-server - SQL Server 命名实例与 Visual Studio 2017 安装程序项目

vba - 如何比较表、查询、表单等的 MS-Access 创建日期和上次修改日期?

c# - sql更新查询不更新数据库

asp.net-mvc - SQL CE 4.0 还是 SQL Express? Orchard 说的对吗?

SQL Server Express 性能问题