用途
Azure SQL 技能用于在 Azure 上部署和管理托管数据库,覆盖 Azure SQL Database、弹性池(Elastic Pools)和 Cosmos DB。它提供服务器与数据库的创建、安全配置、备份与复制等操作指引,适合在 Azure 上部署托管数据库的场景。
适用场景
- 需要在 Azure 上使用全托管关系型数据库。
- 应用需要异地复制以实现灾难恢复。
- 需要通过弹性池在多个数据库之间实现弹性扩展。
- 正在将本地 SQL Server 工作负载迁移到云端。
- 需要全球分布式 NoSQL 数据库(Cosmos DB)。
前置条件
安装 Azure CLI:
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
登录并设置订阅:
az login
az account set --subscription "my-subscription-id"
创建资源组:
az group create --name database-rg --location eastus
主要能力
SQL Server 与数据库创建
创建逻辑 SQL Server,可启用 Azure AD 身份验证、仅 Azure AD 身份验证,并设置最小 TLS 版本、关闭公共网络访问。
创建数据库支持多种版本:
- General Purpose(可配合 Serverless 计算模型、自动暂停延迟、最小容量、最大容量、备份存储冗余等参数)。
- Business Critical(用于生产,可设置服务目标、最大容量、区域冗余、读扩展)。
- Hyperscale(用于大型工作负载,可设置 HA 副本数)。
可列出服务器上的数据库。
弹性池
创建弹性池(可设置版本、容量、每库最大/最小容量、最大容量、区域冗余),将数据库移入弹性池,并监控弹性池使用情况。
防火墙规则与网络安全
- 允许 Azure 服务访问。
- 允许特定 IP 范围(如办公网络)。
- 允许当前客户端 IP。
- 创建 VNet 规则以允许子网访问。
- 列出和删除防火墙规则。
异地复制与故障转移
- 创建辅助服务器并建立故障转移组(可设置自动故障转移策略、宽限期、加入数据库)。
- 查看故障转移组状态。
- 手动故障转移(用于测试或计划维护)。
- 创建活动异地复制(不使用故障转移组)。
备份与恢复
- 配置短期保留(1-35 天,可设置差异备份间隔)。
- 配置长期保留(每周、每月、每年保留策略及年内周数)。
- 将数据库恢复到某个时间点。
- 列出长期备份。
- 将数据库导出为 bacpac。
性能调优
- 启用自动调优。
- 查看数据库性能建议。
- 扩展数据库层级(调整服务目标)。
- 启用 Query Store(通过 SQL)。
- 查看 DTU/vCore 使用指标。
安全加固
- 启用高级威胁防护(可设置通知邮箱、是否通知账户管理员)。
- 启用审计到存储或 Log Analytics(可设置保留天数)。
- 启用透明数据加密(默认已启用)。
- 启用漏洞评估。
Cosmos DB
- 创建 Cosmos DB 账户(SQL API,可设置默认一致性级别、多区域位置、自动故障转移、多写入位置)。
- 创建数据库(可设置吞吐量)。
- 创建容器(可设置分区键路径、吞吐量、索引策略)。
- 启用自动缩放吞吐量(设置最大吞吐量)。
Terraform 配置
提供 Terraform 资源示例,包括:
azurerm_mssql_server(服务器,含 Azure AD 管理员、最小 TLS 版本、关闭公共网络访问)。azurerm_mssql_database(数据库,含排序规则、许可类型、SKU、最大容量、区域冗余、读扩展、短期与长期保留策略、威胁检测策略)。azurerm_mssql_failover_group(故障转移组,含伙伴服务器、读写端点故障转移策略)。azurerm_private_endpoint(私有终结点,含私有服务连接)。
故障排查
技能提供常见症状、原因与修复对照,包括:无法连接 SQL Server、登录失败、DTU 达到 100%、异地复制延迟高、时间点还原失败、弹性池 eDTU 耗尽、TDE 密钥轮换失败、应用连接超时。
相关技能
- azure-networking:SQL 访问的私有终结点与 VNet 规则。
- azure-functions:无服务器数据访问的 SQL 绑定。
- terraform-azure:基于 Terraform 的 SQL 基础设施配置。
- arm-templates:用于 SQL 部署的 Bicep 模板。
限制
资料未提供该技能的收费、价格、平台支持范围、性能效果或具体使用步骤之外的额外说明,相关事实暂未提供。