什么是 SQL Server?
适用范围:SQL Server
Microsoft SQL Server 是一种关系数据库管理系统 (RDBMS)。 应用程序和工具连接到 SQL Server 实例或数据库,并使用 Transact-SQL (T-SQL) 进行通信。
部署选项
可在 Windows 或 Linux 上安装SQL Server,将其部署在 Linux 容器中,或者部署在 Azure 虚拟机或其他虚拟机平台上。 你之前可能将它称为“装箱产品”。
支持哪些 SQL Server 版本取决于你的许可协议,但就本文档而言,我们指的是 SQL Server 2016 (13.x) 及更高版本。 有关 SQL Server 2014 (12.x) 和以前版本的文档,请参阅 SQL Server 先前版本对应的文档。 若要了解当前支持哪些 SQL Server 版本,请参阅 SQL Server 终止支持选项。
以下产品和服务也使用基础 SQL Server 数据库引擎:
- Azure SQL 数据库
- Azure SQL 托管实例
- Microsoft Analytics Platform System (PDW)
- Azure Synapse Analytics
- Azure SQL Edge
有关 Windows 上 SQL Server 各版本支持的功能列表,请参阅:
- SQL Server 2022 各个版本及其支持的功能
- SQL Server 2019 各个版本及其支持的功能
- 版本和 SQL Server 2017 支持的功能
- 版本和 SQL Server 2016 支持的功能
SQL Server 组件和技术
本部分介绍 SQL Server 中提供的一些关键技术。
组件 | 说明 |
---|---|
数据库引擎 | 数据库引擎是用于存储、处理和保护数据的核心服务。 数据库引擎提供了受控访问和事务处理,以满足企业内最苛刻的数据消费应用程序的要求。 数据库引擎还通过业务连续性和数据库恢复 (SQL Server) 为保持业务连续性提供全面的支持。 |
机器学习服务 (MLS) | SQL Server 机器学习服务支持使用常用的 R 和 Python 语言,将机器学习集成到企业工作流中。 机器学习服务(数据库内)将 R 和 Python 与 SQL Server 集成,方便用户通过调用存储过程,轻松生成、重新定型模型,并对模型评分。 机器学习服务器对 R 和 Python 提供企业级支持,用户无需使用 SQL Server。 |
Integration Services (SSIS) | SQL Server Integration Services 是一个可用于构建高性能数据集成解决方案的平台,其中包括为数据仓库提供提取、转换和加载 (ETL) 处理的包。 |
Analysis Services (SSAS) | SQL Server Analysis Services 是一个用于个人、团队和公司商业智能的分析数据平台和工具集。 服务器和客户端设计器通过使用 Power Pivot、Excel 和 SharePoint Server 环境,支持传统的 OLAP 解决方案、新的表格建模解决方案以及自助式分析和协作。 Analysis Services 还包括数据挖掘,以便您可以发现隐藏在大量数据中的模式和关系。 |
Reporting Services (SSRS) | SQL Server Reporting Services 提供支持 Web 的企业级报表功能。 从而使用户可以创建从多个数据源提取内容的报表,发布各种格式的报表,以及集中管理安全性和订阅。 |
复制 | SQL Server 复制是一组技术,用于将数据和数据库对象从一个数据库复制并分发到另一个数据库,然后在数据库之间进行同步以保持一致性。 使用复制时,可以通过局域网和广域网、拨号连接、无线连接和 Internet,将数据分发到不同位置以及分发给远程用户或移动用户。 |
Data Quality Services (DQS) | Data Quality Services 向您提供知识驱动型数据清理解决方案。 DQS 使您可以生成知识库,然后使用此知识库,同时采用计算机辅助方法和交互方法,执行数据更正和消除重复的数据。 您可以使用基于云的引用数据服务,并可以生成一个数据管理解决方案将 DQS 与 SQL Server Integration Services 和 Master Data Services 相集成。 |
Master Data Services (MDS) | Master Data Services 是 SQL Server 的主数据管理解决方案。 基于 Master Data Services 生成的解决方案可帮助确保报表和分析均基于适当的信息。 使用 Master Data Services,可以为主数据创建中央存储库,并随着主数据随时间变化而维护一个可审核的安全对象记录。 |
基本概念
此表提供了 SQL Server 和 Azure SQL 中基本概念的链接。
区域 | 详细信息 |
---|---|
数据文件和事务日志 | - 数据库文件和文件组 - 系统数据库 - 事务日志 |
数据库兼容性级别 | - 兼容性认证 - 查看或更改数据库的兼容性级别 - ALTER DATABASE (Transact-SQL) 兼容性级别 |
表和视图 | - 表 - 视图 |
函数和存储过程 | - SQL 数据库函数有哪些? - 存储过程(数据库引擎) |
索引 | - 索引 - SQL Server 和 Azure SQL 索引体系结构和设计指南 |
配置并行的成本阈值 和最大并行度 |
- 配置并行的成本阈值 - 配置最大并行度 |
内存管理 | - 服务器内存配置选项 - 内存管理体系结构指南 |
检查点、启动和故障修复 | - 数据库检查点 - 加速数据库恢复 |
备份和还原数据库 | - SQL Server 数据库的备份和还原 事务日志备份- |
管理 SQL Server 服务 | - 管理数据库引擎服务 - SQL Server 配置管理器 - 启动、停止、暂停、继续和重启 SQL Server 服务 - 向 SQL Server 的实例添加功能(安装程序) |
数据库控制台命令 (DBCC) | - DBCC (Transact-SQL) - DBCC HELP (Transact-SQL) - DBCC CHECKDB (Transact-SQL) |
高可用性 (HA) 和灾难恢复 (DR) | - 业务连续性和数据库恢复 - 关于日志传送 - 故障转移群集和 Always On 可用性组 - 什么是 Always On 可用性组? |
查询处理和性能优化 | - 使用查询存储优化性能 - 查询处理体系结构指南 - 优化锁定 - 事务锁定和行版本控制指南 |
连接到 SQL Server
Azure 集成
尽管 SQL Server 是独立产品,可以安装在运行 Windows 和 Linux 操作系统的计算机上,但可以将 SQL Server 实例与多个 Azure 服务集成。
Azure 虚拟机
Azure 虚拟机上的 SQL Server 允许你在云中使用完整版本的 SQL Server,而不需管理任何本地硬件。 使用即用即付时,SQL Server 虚拟机 (VM) 还可以简化许可成本。
Azure 虚拟机在全球许多不同的地理区域运行, 它们还提供各种计算机大小。 使用虚拟机映像库可以创建 SQL Server VM,而且版本和操作系统都很正确。 因此,虚拟机适用于许多不同的 SQL Server 工作负荷。
Azure Arc
由 Azure Arc 启用的 SQL Server 通过提供一致的多云和本地管理平台,简化了治理和管理工作。 Azure Arc 提供一种集中统一的方式来共同管理整个环境,将现有的非 Azure 和/或本地虚拟机、Kubernetes 群集和数据库组合到 Azure 资源管理器中。
可以使用 Azure 服务和管理功能,同时引入 DevOps 实践来支持环境中的新云原生模式,并将自定义位置配置为已启用 Azure Arc 的 Kubernetes 群集和群集扩展之上的抽象层,而无论资源位于何处。
Azure Kubernetes 服务 (AKS)
Azure Kubernetes 服务 (AKS) 是一项托管的 Kubernetes 服务,用于部署和管理容器群集。 通过 Linux 容器上的 SQL Server,可以使用 Helm 图表将 SQL Server Linux 容器部署到 AKS。
注意
还可以在所选 Kubernetes 基础结构上设置 Azure Arc 启用的 SQL 托管实例,这样就可以在 Azure 中管理服务,同时将数据保留到你喜欢的位置。
迁移和移动数据
SQL Server 提供了许多机会来实现数据资产的迁移和现代化。
迁移到云
迁移到 SQL Server
1 SQL Server 2017 (14.x) 及更高版本。
更新 SQL Server 的版本
示例
- Wide World Importers 示例数据库
- AdventureWorks sample databases(AdventureWorks 示例数据库)
- GitHub 上的 SQL Server 示例
获取帮助
- SQL 意见:是否有改进 SQL Server 的建议?
- Microsoft Q&A (SQL Server)
- DBA Stack Exchange (tag sql-server):询问 SQL Server 相关问题
- Stack Overflow (tag sql-server):有关 SQL 开发问题的答案
- Reddit:有关 SQL Server 的一般讨论
- Microsoft SQL Server 许可条款和许可证信息
- 企业用户支持选项
- 其他 SQL Server 帮助和反馈
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅如何参与 SQL Server 文档编辑