基于提供的PDF内容,以下是《Azure SQL Revealed》第二版的核心内容总结:
核心主题与内容概览
- Azure SQL的历史演进
从2005年SQL Server团队探索云服务开始,历经 CloudDB、Red Dog项目(Azure前身)、SQL Data Services (SDS),最终演变为 Azure SQL Database。
关键里程碑:
2008年Windows Azure发布,SDS作为首批数据服务。
2010年SQL Azure正式商用(后更名为Azure SQL Database)。
2013年推出 Azure虚拟机(IaaS),支持SQL Server部署。
后续创新包括 SAWA项目(迁移到Azure VM架构)、Sterling项目(解决多租户隔离问题)。
- Azure SQL的核心服务
Azure SQL托管实例(Managed Instance):
接近SQL Server的PaaS服务,支持实例级配置(如 sp_configure 、TempDB优化)、跨数据库查询、SQL Agent作业。
网络隔离(VNet集成)、高可用(内置副本)、维护窗口配置。
Azure SQL数据库(Database):
无服务器(Serverless)和预配(Provisioned)模式,支持自动缩放、按需计费。
部署选项:DTU/vCore模型、Hyperscale(超大规模存储)、弹性池(资源共享)。
SQL Server on Azure VM(IaaS):
完全控制OS/SQL实例,支持Linux/Windows,集成Azure备份/监控。
- 部署与配置
部署流程:
托管实例:需规划子网/IP范围,部署耗时较长(小时级)。
SQL数据库:分钟级创建,支持T-SQL CREATE DATABASE 动态调整。
关键配置限制:
托管实例:部分 sp_configure 选项受限(如内存设置),不支持重启操作。
SQL数据库:无本地文件系统访问,跨数据库查询需通过弹性查询实现。
- 安全与合规
网络层:私有端点(Private Endpoint)、防火墙规则、TLS加密。
数据保护:透明数据加密(TDE)、Always Encrypted(客户端加密)、SQL Ledger(防篡改审计)。
访问控制:Azure AD集成、RBAC角色、动态数据掩码(DDM)。
- 性能与高可用
智能性能:自动索引优化、查询计划修正、内存OLTP支持。
高可用架构:
内置副本(Business Critical层)、故障转移组(跨区域容灾)、加速数据库恢复(ADR)。
备份与恢复:PITR(时间点还原)、异地备份(Geo-Restore)。
- 超越传统RDBMS
AI集成:Azure OpenAI服务(自然语言转SQL查询)、机器学习服务(Python/R脚本)。
多模型支持:JSON/XML处理、空间数据、图计算。
开发运维:GitHub Actions自动化、容器化部署(Azure Arc)、Microsoft Fabric数据湖集成。
关键区别:托管实例 vs. SQL数据库
| 特性 | Azure SQL托管实例 | Azure SQL数据库 |
|---|---|---|
| 架构层级 | 实例级(多数据库共享资源) | 数据库级(单数据库独立资源) |
| 兼容性 | 接近SQL Server(支持链接服务器、SQL Agent) | 有限(无跨数据库查询、SQL Agent需替代方案) |
| 网络配置 | 深度VNet集成、自定义DNS | 公有端点/私有端点 |
| 管理操作 | 支持 sp_configure 、TempDB文件优化 | 仅数据库级配置(文件组/索引优化) |
| 适用场景 | 迁移本地SQL Server(最小改动) | 云原生应用、微服务架构 |
实战建议
迁移路径:
托管实例:使用 Azure Database Migration Service 直接还原 .bak 文件。
SQL数据库:通过 BACPAC 导出导入或ADF数据流水线。
成本优化:
无服务器数据库:应对间歇性负载,空闲时自动暂停计费。
弹性池:合并低利用率数据库,共享计算资源。
监控工具:
Azure Monitor + Query Store:捕获性能瓶颈。
Microsoft Defender for SQL:实时威胁检测。
如需深入某个主题(如安全配置或性能调优),请提供具体问题,我将基于书中内容进一步详解!