如果有一台带有多个NIC的计算机,我需要指定用于连接SQL Server的NIC。
继@pzycoman之后,SqlConnection(和SQL OLEDB/SQL Server ODBC)没有明确的连接字符串语义来表示绑定的NIC,只能指定目标服务器主机地址(这反过来会触发路由度量讨论)。将服务或应用程序拆分到不同的子网中是可行的,但同样也会产生类似于今天所看到的利用率不对称。
如果您的适配器支持,另一个潜在的选择是NIC组队。组队软件将多个NIC绑定到一个逻辑通道中,以降低NetOps的复杂性来提高吞吐量。这种情况发生在OSI中的较低级别,因此对您的应用程序和服务是透明的。
团队合作曾经因多种原因(主要是NLB问题和驾驶员质量)而受到反对,但在过去几年中,这些问题已经得到了很大程度的缓解。
一如既往,工程思维将有所帮助-测试所有。
如果NIC有不同的子网,windows应该自动通过正确的NIC路由请求(从命令行运行"路由打印"将显示路由到哪里)
windows网络堆栈将确定使用哪个nic访问数据库服务器。如果在连接字符串中使用sql server的netbios名称,则可能需要将其替换为首选nic所在子网中的IP地址(或dns条目)。