注释
当你设置MultiSubnetFailover=Yes(推荐的 Azure SQL 数据库、Azure SQL 托管实例、Microsoft Fabric 中的 SQL 数据库、可用性组监听器和故障转移集群实例)时,驱动程序会尝试并行地对所有已解析的 IP 地址进行 TCP 连接,并使用 TransparentNetworkIPResolution设置不会影响连接顺序。 更多信息请参见 高可用性和灾难恢复。
TransparentNetworkIPResolution(TNIR)是 SQL Server ODBC 驱动中的一个遗留多 IP 备份,从 Microsoft ODBC 驱动 13.1 开始可用。 当主机名的第一个解析IP没有响应,且该主机名关联多个IP时,它会影响连接顺序。
TNIR 已被 MultiSubnetFailover 取代。 当 MultiSubnetFailover=Yes时,驱动程序会尝试并行地对所有已解析的 IP 地址进行 TCP 连接,且 TNIR 不会影响连接顺序。 当 MultiSubnetFailover=No 时,TNIR 控制回退顺序:
| 透明网络 IP 解析 | 连接序列 |
|---|---|
| 已启用(默认值) | 先尝试一个 IP,然后并行尝试所有 IP |
| 已禁用 | 尝试按顺序尝试所有IP。 |
TransparentNetworkIPResolution 连接字符串和 DSN 关键字在连接字符串一级控制此设置。 默认是启用的。
| 关键字 | 值 | 默认 |
|---|---|---|
TransparentNetworkIPResolution |
Enabled、Disabled |
Enabled |
使用 SQL_COPT_SS_TNIR 预连接属性,应用程序以编程方式控制此设置:
| 连接属性 | 大小/类型 | 值 | 默认 | 说明 |
|---|---|---|---|---|
SQL_COPT_SS_TNIR (1249) |
SQL_IS_INTEGER 或 SQL_IS_UINTEGER |
SQL_IS_ON (1), SQL_IS_OFF (0) |
SQL_IS_ON |
启用或禁用 TNIR。 |