Oracle 与 SQL Server – 它们之间的区别
Oracle 与 SQL Server 的主要区别
- Oracle 可在各种平台上运行,而 SQL Server 只能在少数平台上安装。
- Oracle 支持星型查询优化,而 SQL Server 不提供查询优化。
- 在 Oracle 中,值在提交前不发生更改,而在 SQL Server 中,值在提交前就会发生更改。
- Oracle 允许在事务处理过程中回滚,而 SQL Server 不允许在事务处理过程中回滚。
- Oracle 允许实例中有多个“模式”,而 SQL Server 在每个用户数据库中提供“模式”。
- Oracle 支持数据库、完整、文件级、增量和差异备份,而 SQL Server 支持完整、部分和增量备份。
- Oracle 使用“after”和“before”触发器,而 SQL Server 主要只使用“after”触发器。

什么是 Oracle 数据库?
Oracle 数据库是 Oracle 公司提供的关系数据库管理系统 (RDMS)。该软件围绕关系数据库框架构建。它允许用户使用 SQL 语言访问数据对象。Oracle 是一个完全可扩展的 RDBMS 架构,在全球范围内被广泛使用。
Oracle 是 IT 市场最大的供应商之一,也是其旗舰 RDBMS 产品的简称,该产品以前称为 Oracle Database。
什么是 Microsoft SQL Server?
MS SQL Server 是 Microsoft 的数据库产品。它允许用户进行 SQL 查询并执行它们。它是最稳定、最安全、最可靠的数据库解决方案之一。它支持企业 IT 环境中的各种交易处理、分析和商业智能应用程序。
SQL Server 和 Oracle 之间的区别
参数 | MS SQL Server | Oracle |
---|---|---|
母公司 | 由 Microsoft 公司拥有。 | 由 Oracle 公司拥有。 |
语法 | 更简单、更易于使用的语法。 | 复杂但更有效的语法。 |
下载 | 可从 www.microsoft.com/sqlserver 下载 120 天或 180 天试用版。 | 开源版本可从 otn.oracle.com 下载。 |
平台支持 | 只能安装在 Windows Server 上。但从 2017 版本开始可以安装在 Linux 上。 | 可在多种平台上运行 |
语言 | MS-SQL 使用 Transact SQL 或 T-SQL。 | Oracle 公司使用 PL/SQL。 |
作业调度 | 通过 SQL Server Agent 进行作业调度。 | 通过 Oracle 调度程序或 OEM 进行作业调度。 |
位图索引 | 不基于反向键和函数的位图索引。 | 使用基于函数和反向键的位图索引。 |
查询优化 | 无查询优化。 | 使用星型查询优化。 |
触发器 | 主要使用“after”触发器。 | 使用“after”和“before”触发器。 |
支持与故障排除 | 提供技术说明、错误描述、脚本、补丁和下载,不额外收费。 | 每次支持案例均收费的呼叫支持。 |
回滚 | 在事务处理过程中不允许。 | 允许在事务处理过程中回滚。 |
并发访问 | 当写入器正在进行时不允许并发访问,这会增加等待时间。 | 允许并发访问,等待时间通常较短。 |
值更改 | 提交前值已更改。 | 提交前值不更改。 |
方法 | 使用行或页锁定方法。在页面被锁定期间,它从不允许读取。 | 使用记录的副本,因此在修改时,允许读取原始数据,同时进行修改。 |
错误处理 | SQL Server 分别执行每个命令,因此如果在此过程中遇到任何错误,则很难进行更改。 | Oracle 将每个新的数据库连接视为一个新事务。 |
人为干预 | 遵循全局内存分配,因此数据库管理员的干预较少。因此,人为错误的可能性非常小。 | 遵循动态内存分配。DBA 需要更多的干预。因此,人为错误的几率更高。 |
并行执行 | 在 MS SQL Server 中,INSERT、UPDATE、DELETE 语句是串行执行的。 | Oracle 将并行执行 INSERT、UPDATE、DELETE 和 MERGE 语句。 |
自动化支持 | 提供 SQL 升级顾问进行自动化。 | 提供数据库升级助手进行自动化。 |
重做流 | 重做流对每个用户和数据库都是唯一的。 | 数据库级别有一个重做流。 |
模式 | 每个用户数据库中的“模式”。 | 实例中有许多“模式”。 |
保护 | 在实例级别和数据库级别进行登录身份验证。 | 通过数据库凭据和操作系统角色进行用户身份验证。 |
共享性 | 每个数据库在服务器上都有自己的、未共享的磁盘文件。 | 所有数据库对象都按模式分组。数据库对象的子集集合,所有数据库对象都在所有模式和用户之间共享。 |
备份 | 它允许完整、部分和增量备份。 | 它允许数据库、完整、文件级、增量和差异备份。 |
维护 | 表通常存储为索引组织表。 | 自动更新统计信息并识别 SQL 问题。 |
Microsoft SQL 的早期历史
1987 年,Microsoft 与 Sybase Solutions 合作开发了可以与 IBM 和 Oracle 等其他 IT 巨头竞争的 DBMS。两家公司同意 Sybase 将拥有为非 Microsoft 平台设计的产品的全部销售权和收益。
另一方面,Microsoft 将拥有为 Microsoft 平台设计的数据库产品的权利。1989 年发布了第一个数据库服务器产品版本。
之后,Microsoft 从 Sybase 购买了所有权利,并将其更名为 MS SQL Server。至今已发布了 30 个版本的 MS SQL。
Oracle 的早期历史
Oracle 公司在成为如今的跨国技术公司之前,走过了漫长的旅程。
1977 年,Oracle 公司由两位开发人员 Larry Ellison 和 Bob Miner 创立。两人都有为不同组织开发数据库软件的经验。
1978 年,他们成功构建了第一个使用 SQL 的 RDBMS。该软件被称为 Oracle Relational Database Management System。
Oracle 成为第一家销售 RDBMS 软件的公司,到 1982 年,年收入已达 250 万美元。
Microsoft SQL Server 的功能
- 支持工具:SQL Server Profiler、BI 工具、SQL Server Management Studio 和 Database Tuning Advisor。
- 提供在线支持和文档,以及实时产品支持。
- 为数据类型映射以及删除和重命名对象提供高级自定义选项。
- 在进度窗口中显示迁移的错误和警告消息。
- 用于 SQL Server 数据库引擎管理和授权的单一集成环境。
- 可调整大小的对话框允许在打开对话框时访问多个工具。
- 具有筛选和自动刷新功能的活动监视器。
- 从 SQL Server Management Studio 导入和导出。
Oracle 的功能
- 与其他数据库相比,易于进行数据恢复。
- RDMS 系统可以轻松处理大量数据。
- 允许您随时更改平台。
- 提供扩展和横向扩展策略的选项。
- 该数据库允许您在测试环境中运行实际的生产工作负载,包括在线用户和批处理工作负载。
- 支持特定于硬件和操作系统的虚拟化技术。
- 为测试和生产 SAP 环境提供 VMWare 支持。
- 如果主数据库变得不可用,备用数据库可以充当主数据库。
- 可用于读写、报告、测试或备份,从而减轻主数据库的负担。
- 为用户提供不间断的处理,无需手动恢复。