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”触发器。
Differences Between Oracle and SQL Server
Oracle 与 SQL Server

什么是 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 的功能

  1. 支持工具:SQL Server Profiler、BI 工具、SQL Server Management Studio 和 Database Tuning Advisor。
  2. 提供在线支持和文档,以及实时产品支持。
  3. 为数据类型映射以及删除和重命名对象提供高级自定义选项。
  4. 在进度窗口中显示迁移的错误和警告消息。
  5. 用于 SQL Server 数据库引擎管理和授权的单一集成环境。
  6. 可调整大小的对话框允许在打开对话框时访问多个工具。
  7. 具有筛选和自动刷新功能的活动监视器。
  8. SQL Server Management Studio 导入和导出。

Oracle 的功能

  1. 与其他数据库相比,易于进行数据恢复。
  2. RDMS 系统可以轻松处理大量数据。
  3. 允许您随时更改平台。
  4. 提供扩展和横向扩展策略的选项。
  5. 该数据库允许您在测试环境中运行实际的生产工作负载,包括在线用户和批处理工作负载。
  6. 支持特定于硬件和操作系统的虚拟化技术。
  7. 为测试和生产 SAP 环境提供 VMWare 支持。
  8. 如果主数据库变得不可用,备用数据库可以充当主数据库。
  9. 可用于读写、报告、测试或备份,从而减轻主数据库的负担。
  10. 为用户提供不间断的处理,无需手动恢复。