拥有一台具有多个NIC的计算机,我需要以某种方式指定用于连接SQL Server的计算机。
答案 0 :(得分:2)
继@pzycoman之后,SqlConnection(和SQL OLEDB / SQL Server ODBC)没有明确的连接字符串语义来表达绑定的NIC,而不是指定目标服务器主机地址(这反过来触发路由度量讨论)。将服务或应用程序拆分到不同的子网上可以起作用 - 但同样也可以产生与您今天看到的类似的利用率不对称。
如果适配器支持,则另一个可能的选择是网卡绑定。组合软件将多个NIC绑定到单个逻辑通道中,以提高吞吐量,同时降低NetOps的复杂性。这种情况发生在OSI中的低得多的水平,因此对您的应用程序和服务是透明的。
由于多种原因(主要是NLB问题和驱动程序质量),团队组织过去常常不赞成,但在过去几年中,这些问题在很大程度上得到了缓解。
一如既往,工程心态会有所帮助 - 测试一切。
答案 1 :(得分:0)
如果NIC有不同的子网,Windows应该自动通过正确的NIC路由请求(从命令行运行“route print”将显示路由到哪里)
答案 2 :(得分:0)
Windows网络堆栈将确定用于访问数据库服务器的nic。如果在连接字符串中使用sql server的netbios名称,则可能需要将其替换为首选nic所在子网中的IP地址(或dns条目)。