根据MSDN在为 SQL Server 构造连接字符串时:
如果指定了 User ID 和 Password 并且 Integrated Security 设置为 true,则 User ID 和 Password 将被忽略并使用 Integrated Security。
现在的问题是为什么数据提供者不允许用户在连接字符串中硬编码特定的 Windows 用户名和密码?
这比硬编码 SQL 用户名和密码更糟糕吗?
将 SQL Server 配置为仅接受 Windows 登录(基本上禁用 SQL 身份验证)并在客户端指定 Windows 用户名和密码,而不是在混合模式下运行 SQL Server(启用 Windows 和 SQL 身份验证)并创建 SQL 不是更好吗?每个数据库服务器/实例的用户并在连接字符串中指定 SQL 用户名和密码?
至少在使用 Windows 身份验证时,您只需要管理一个域用户,但在 SQL Server 身份验证的情况下,您必须为每个 SQL 服务器/实例管理一个用户。