複数の NIC を備えたコンピューターを使用しているため、SQL Server への接続に使用する NIC を何らかの形で指定する必要があります。
3 に答える
@pzycoman に続いて、SqlConnection (および SQL OLEDB/SQL Server ODBC) には、宛先サーバーのホスト アドレスを指定する以外に、バインドされた NIC を表現するための明示的な接続文字列セマンティックがありません (これにより、ルート メトリックの議論がトリガーされます)。サービスやアプリケーションを異なるサブネットに分割することもできますが、同様に、今日見られるような使用率の非対称性も生じる可能性があります。
別の潜在的なオプションは、アダプターがサポートしている場合の NIC チーミングです。チーミング ソフトウェアは、複数の NIC を 1 つの論理チャネルに結合し、NetOps の複雑さを軽減してスループットを向上させます。これは OSI のはるかに低いレベルで発生するため、アプリケーションやサービスに対して透過的です。
チーミングは、多くの理由 (主に NLB の問題とドライバーの品質) で嫌われていましたが、ここ数年で大幅に軽減されました。
いつものように、エンジニアリングの考え方が役に立ちます。すべてをテストしてください。
NIC に異なるサブネットがある場合、Windows は自動的に正しい NIC を介して要求をルーティングする必要があります (コマンド ラインから「route print」を実行すると、何がどこにルーティングされるかが表示されます)。
Windows ネットワーク スタックは、データベース サーバーにアクセスするために使用する NIC を決定します。接続文字列で SQL サーバーの netbios 名を使用する場合は、優先 NIC が存在するサブネットの IP アドレス (または dns エントリ) に置き換えることができます。