MICROSOFT SQL Database Engine是用于存储、处理和保护数据的核心服务。 它为各种商业和创业应用程序提供受控的访问和快速交易处理。
SQL Database Engine是所有Microsoft SQL 产品/服务背后的常见基础引擎。 它是企业规模的常规用途关系数据库管理系统(RDBMS)。
对于全球数百万客户,在组织的每个行业和级别,Microsoft SQL Database Engine是用于安全数据处理和存储的数据库服务。 要求苛刻的应用程序可以可靠地读取和修改信息,同时大规模保留完整性。 SQL Database Engine作为接受客户端连接的服务运行,然后针对数据库执行请求的操作。 SQL Database Engine是一个完整的数据库平台,使用企业级数据访问和加密功能以及内置的高可用性和数据库恢复功能进行保护。
多模型数据库引擎
SQL Database Engine 是一种多模型数据库引擎,具有专用存储格式、专用的索引结构和一个单一查询优化器,可以在所有数据模型之间做出基于成本的决策。
使用 SQL Database Engine的产品可以是企业级联机事务处理(OLTP)、联机分析处理(OLAP)或新式应用程序的非关系解决方案。 数据库的关系化规范化数据可能很常见,但 SQL Database Engine支持许多数据模型和数据格式。
所有功能都在同一 SQL Database Engine中,使用相同的Transact-SQL(T-SQL)查询语言,在同一安全层下,以及使用相同的 HA/DR 解决方案。
- 列存储索引:概述
- 使用 SQL Server 和 Azure SQL 数据库进行图处理
- 键值对
- SQL Server 中的JSON 数据
- 空间数据
- SQL Database Engine中的向量搜索和向量索引
- XML 数据(SQL Server)
工具
SQL Database Engine 附带了一套免费且行业领先的工具,用于查询、数据架构、自动化和数据库开发。
数据库管理员(DBA)管理备份和还原、性能优化、安全性和高可用性。
建议的工具:
- SQL Server Management Studio (SSMS):使用图形用户界面进行功能齐全的管理
- msSQL 扩展,适用于 Visual Studio Code:轻型任务和脚本
- sqlcmd:用于部署和自动化的轻型命令行接口 (CLI)
- SQL 数据库项目扩展,适用于 Visual Studio Code:在源代码管理中的项目中管理和开发数据库架构
- SQL Server Migration Assistant (SSMA):从 Microsoft Access、Db2、MySQL、Oracle 和 Sybase 迁移到SQL Server和Azure SQL
数据库基础知识:ACID 符合性
任何 RDBMS 的核心原则都支持事务的 ACID 属性。 事务是作为单个逻辑工作单元执行的一系列操作。 一个逻辑工作单元必须具备四个属性才能被视为事务:原子性、一致性、隔离性和持久性(ACID)。
| 财产 | 说明 |
|---|---|
| Atomicity | 事务必须是一个原子工作单元;其所有数据修改要么全部执行,要么都不执行。 |
| 一致性 | 完成后,事务必须使所有数据处于一致状态。 在关系数据库中,所有规则和声明的约束都必须应用于事务的修改以维护数据完整性。 |
| 隔离 | 一个事务进行的修改必须与其他并发事务所做的修改隔离。 不允许事务之间的部分或中间状态。 此属性也称为可序列化性,因为它会导致重播导致相同数据库状态的一系列顺序事务。 |
| Durability | 事务完成后,它会写入非易失性存储,因此系统即使在发生故障时也会记录其影响。 只提交到易失性内存(RAM)的事务不持久。 |
有关事务的详细信息,请参阅 事务锁定和行版本控制指南。 若要深入了解 SQL Database Engine,请参阅 SQL Server 内部和体系结构指南。
默认情况下,SQL Database Engine是一个完全符合 ACID 的数据库。 为了获得规模或性能,数据库开发人员可以有意绕过 SQL Database Engine中的某些 ACID 原则。 例如,它们可以使用延迟持续性、非持久表或读取未提交的数据。 在所有这些情况下,开发人员可以选择权衡某些 ACID 属性以实现其他目标。 这种权衡必须谨慎,因为它们可能导致数据完整性问题并影响业务结果。
平台功能支持
所有 SQL Database Engine 平台上都完全支持应用程序使用的大多数Transact-SQL(T-SQL)功能。 例如,核心 SQL 组件(如数据类型、运算符和字符串、算术、逻辑函数和游标函数)在所有平台中的工作方式相同。 但是,数据定义语言(DDL)和数据操作语言(DML)元素存在一些 T-SQL 差异。 由于设计原因,这些差异会导致仅在各种平台中部分支持的 T-SQL 语句和查询。
例如,对于平台即服务(PaaS)或软件即服务(SaaS)平台,由于逻辑或物理隔离,某些操作系统或本地文件功能被禁用。 例如,在包含的数据库中,如果 T-SQL 语句和选项配置实例级选项、操作系统组件或指定文件系统配置,则它们不可用。
功能和链接
下表列出了 SQL Database Engine的主要功能,其中包含概述文档和简要说明的链接。
| 功能 | 说明 |
|---|---|
| Always On 可用性组 | 企业级高可用性和灾难恢复,支持同步或异步模式,并具备可读的辅助副本 |
| Always Encrypted | 敏感数据列的客户端加密 |
| 审核 | 审核管理活动 |
| 备份和还原 | 保护和恢复数据库数据 |
| 备份压缩 | 内置备份压缩 |
| 备份加密 | 内置备份加密 |
| 缓冲池扩展 | 通过将非易失 RAM 添加到缓冲池来提升 I/O |
| 更改数据捕获 | 跟踪和捕获数据更改 |
| 列存储索引 | 面向分析型工作负载的列式存储 |
| 动态数据屏蔽 | 限制敏感数据公开 |
| 故障转移群集 | 用于高可用性和灾难恢复的企业故障转移群集 |
| 全文搜索 | 高级文本搜索功能 |
| 图形表 | 模型和查询图形关系 |
| 内存中 OLTP | 内存优化表和过程 |
| 索引视图 | 通过创建索引来具体化视图 |
| JSON 支持 | 使用内置 JSON 函数存储和查询 JSON 数据 |
| 账本 | 防篡改数据库功能 |
| Microsoft Entra身份验证 | 企业范围的用户和服务帐户身份验证 |
| 联机索引维护 | 不影响正常活动的维护 |
| 优化锁定 | 改进了事务锁定机制 |
| 分区 | 使用已分区表和索引进行缩放 |
| PolyBase | 用于查询外部数据源的数据虚拟化 |
| Query Store | 用于查询性能优化的内置监视器 |
| 复制 | 跨服务器分发数据 |
| 行级安全 | 控制对表数据的筛选访问 |
| 空间数据 | 存储和查询地理数据 |
| 临时表 | 跟踪变更的完整历史记录 |
| 透明数据加密 | 加密静态数据库文件 |
| 矢量支持 | 存储和查询向量嵌入,在向量索引上进行向量搜索。 支持 LangChain 集成和 Semantic Kernel 集成。 |
| XML 支持 | 存储和查询 XML 数据、XML 索引 |
语言和 驱动程序支持:
| Driver | 说明 |
|---|---|
| .NET | ADO.NET SQL 驱动程序 |
| 去吧 | 适用于 SQL 的 Golang go-mssqldb 驱动程序 |
| Java | JDBC 驱动程序用于 SQL |
| Node.js | 适用于 SQL 的 Node.js 驱动程序 |
| ODBC | ODBC 驱动程序 (用于 SQL Server) |
| OLE DB | 适用于 SQL Server 的 OLE DB 驱动程序 |
| PHP | 适用于 SQL 的 PHP 驱动程序 |
| Python | 适用于 SQL 的 Python mssql-python 驱动程序 |
| Ruby(编程语言) | 适用于 SQL 的 Ruby 驱动程序 |
| Spark | 适用于 SQL 的 Spark 连接器 |
使用 SQL Database Engine的新式平台
以下新式平台使用 SQL Database Engine,从旗舰SQL Server产品开始。
| 产品 | 部署模型 |
|---|---|
| SQL Server | 在本地,虚拟机包括 Azure VM 上的 SQL Server、支持 Arc 的 Windows、Linux 和 Linux 容器 |
| Azure SQL Database | 完全托管的数据库,平台即服务(PaaS) |
| Azure SQL Managed Instance | 完全托管的数据库实例,平台即服务(PaaS) |
| Fabric Data Warehouse | 完全托管的仓库,以及在Microsoft Fabric中的软件即服务 (SaaS) |
| Fabric 中的 SQL 数据库 | 在Microsoft Fabric中,完全托管的数据库,即软件即服务(SaaS) |
在 SQL 文档中, “版本 选择器”下拉列表是了解适用于文章、语法参考、教程或其他内容的版本的关键。 许多 Learn 文章是自定义的,以适应特定的 SQL 平台和功能。 在大多数 SQL 参考文章中,还有一个图标栏,其中列出了文章适用的平台。 有关导航文档的详细信息,请参阅 SQL Server 文档导航指南。
免费套餐
立即开始,免费。 您可以通过 Azure 免费订阅免费试用 SQL 数据库引擎:
- 用于开发和测试系统的 SQL Server Developer 版本
- Azure SQL Database免费优惠
- Azure SQL Managed Instance 免费优惠
- Microsoft Fabric免费试用容量
Migration
Azure数据库迁移指南登陆页提供了链接,可快速开始从各种平台迁移到各种Microsoft SQL 平台。
- 比较适用于各种类型迁移的 SQL 数据迁移工具。
- 请访问 Microsoft Fabric 迁移概述了解有关迁移到Fabric的详细信息。
- 试用 Azure Database Migration Service (Azure DMS),这是一项完全托管的服务,用于从多个数据库源迁移到Azure数据平台。