数据库连接字符串中的 MultiSubnetFailover 选项控制客户端尝试连接到数据库服务器的方式,尤其是当多个 IP 可用时。
关于正确的连接字符串语法是否为以下内容存在冲突的文档:
MultiSubnetFailover=Yes
或者:
MultiSubnetFailover=True
是否同时支持“Yes”和“True”?还是因驾驶员而异?如果是后者,是否有哪些驱动程序支持哪些语法的列表?
2023年3月30日更新:
此 Microsoft 文档暗示“True”或“Yes”适用于另一个选项:
Persist Security Info 关键字的默认设置为 false。将其设置为true 或 yes允许在连接打开后从连接获取安全敏感信息,包括用户 ID 和密码。将持久安全信息设置为 false 以确保不受信任的源无法访问敏感的连接字符串信息。
https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/connection-string-syntax
(强调已添加)
每个驱动程序都有自己的语法。在第一个链接中,它用于 OLEDB,在第二个链接中,它用于 ado.net,它可以显示 oledb 或 odbc,因此您在这里给出了不同的驱动程序。还有 SNAC(已弃用),它是 oledb 和 odbc、jdbc、tedious、.net 托管驱动程序等的统一前端,因此对于您使用的任何驱动程序,您应该查找语法并使用它。
自 SQL Server 2022 起,SQL Server Native Client (SNAC)已被删除。
连接字符串关键字取决于驱动程序/API,因此文档不冲突。
SQL Server IDBInitialize::Initialize连接关键字部分的 OLE DB 驱动程序:
SQL Server 的 OLE DB 驱动程序 IDataInitialize::GetDataSource连接关键字部分:
SQL Server ActiveX 数据对象的 OLE DB 驱动程序连接关键字部分:
System.Data.SqlClient和Microsoft.Data.SqlClient驱动程序文档: