适用于:Azure SQL 托管实例
本文介绍在Azure SQL 托管实例上运行的自动内部连接测试,以监视服务可靠性和加速问题检测。
这些测试是完全自动化的,无需你执行任何操作。 主动监视内部网络连接允许Azure快速识别潜在问题并维护稳定的端到端连接。
连接测试从承载 SQL 托管实例的子网范围内的一对内部 IP 地址发起。 测试不需要任何外部入站或出站连接。 其他 IP 地址是为连接测试保留的,跟踪可能会出现在可观测性日志中。
从 2026 年 5 月开始,连接测试在所有 SQL 托管实例上定期运行。
优点
自动内部连接测试具有以下优势:
- 诊断内部服务和网络可用性问题。
- 加速问题发现并减少缓解时间。
- 提高对SQL 托管实例内部网络状态的可见性。
测试结果在内部使用,不会反映在 Service Health 或 资源运行状况中。
操作影响
内部连接测试具有以下操作影响:
- 为每个 VM 组预配了两个额外的 IP 地址,将 IP 地址要求从 6 个增加到 8 个。 有关详细信息,请参阅 “确定子网大小和范围”。
- 测试每 10 秒运行一次,对网络吞吐量和服务性能产生微不足道的性能影响。
- 为 SQL 托管实例创建的新子网会自动保留连接测试所需的额外 IP 地址。
- 在具有 SQL 托管实例的现有子网中,仅当子网有足够的可用 IP 地址来支持测试所需的额外 IP 地址时,测试才会保留额外的 IP 地址。 如果现有子网没有足够的可用 IP 地址,则测试不会运行。
安全注意事项
以下安全原则指导内部连接测试的设计:
- 测试的范围限定为单个 SQL 托管实例,并在其委托的虚拟网络和子网内运行。
- 连接测试无法访问任何数据库的内容。
- 测试结果不包含实例名称以外的客户数据。
- 只有Azure工程师才能访问结果。
- 审核系统可能会记录测试生成的失败登录尝试。 有关如何识别这些条目的详细信息,请参阅 观察由端到端测试导致的登录失败。
已执行的测试
以下连接测试会自动运行:
| 测试 | Description |
|---|---|
| 负载均衡器连接 | 验证与内部负载均衡器的连接。 |
| 内部 DNS 名称解析 | 验证内部 DNS 名称是否正确解析。 |
| Azure基础结构依赖项可用性 | 检查Azure基础结构依赖项的可用性。 |
| 与实例的端到端子网内连接 | 通过尝试使用已知失败凭据(AzureSQLConnectivityChecker)登录,验证到Azure SQL 托管实例的完整连接路径。 |
查看由端到端测试导致的登录失败
端到端连接测试有意执行失败登录以验证完整连接路径。 测试使用不存在的 AzureSQLConnectivityChecker 登录名,并期望Azure SQL 托管实例返回错误 18456。 此错误验证SQL 托管实例的整个网络路径是否正常运行。
SQL 可观测性工具能够检测到这些失败的登录尝试。 使用以下签名标识连接测试条目,并将其与真正的失败登录尝试区分开来。
以下可观测性工具检测到登录失败:
审核日志
启用 FAILED_LOGIN_GROUP时,审核事件大约每 10 秒显示一次 AzureDiagnostics:
| 列 | 价值 |
|---|---|
Category |
SQLSecurityAuditEvents |
ResourceType |
MANAGEDINSTANCES |
action_id_s |
LGIF |
server_principal_name_s |
AzureSQLConnectivityChecker |
client_ip_s |
子网范围内的 IP 地址 |
扩展事件
捕获 sqlserver.error_reported 且其中 error_number = 18456 和 severity = 14 显示以下属性的扩展事件会话:
| Attribute | 价值 |
|---|---|
category |
LOGON |
error_number |
18456 |
severity |
14 |
state |
变量(取决于身份验证配置) |
message |
变量(取决于身份验证配置) |
sqlazure.is_azure_connection |
True |
例如,如果在 SQL 托管实例上禁用 SQL 身份验证,则状态为 170,并且消息指示已启用仅Microsoft Entra身份验证。
SQL 错误日志
在 sp_readerrorlog 中,连接测试中的失败登录会显示为成对的两行:
| 列 | 价值 |
|---|---|
ProcessInfo |
Logon |
Text |
Error: 18456, Severity: 14, State: (变量) . |
和
| 列 | 价值 |
|---|---|
ProcessInfo |
Logon |
Text |
消息取决于身份验证配置 |
例如,禁用 SQL 身份验证时,消息指出已启用仅Microsoft Entra身份验证,并包括子网 IP 地址。