これはほとんどSQLサーバーの問題ではない可能性がありますが、セットアップはSQLサーバーへの一括挿入にのみ影響しているようです。
最近、VMハードウェアを移動しました。移動したすべてのゲストの仮想スイッチが標準から分散に変更されました。
それから私は受け取り始めました
ネットワークからの入力ストリームの読み取り中に致命的なエラーが発生しました。セッションは終了します(入力エラー:64、出力エラー:0)
BULK INSERT操作中の2つのSQLサーバー。SQLサーバーの1つは新しい構成のVMで、もう1つは物理サーバーです。両方のBULK INSERT操作は、新しい構成のVMから発生しました。BULK INSERTは毎回失敗するわけではなく、失敗するときは非常にランダムでした。
仮想スイッチを分散スイッチではなく標準スイッチに変更すると、問題はなくなります。
解決策の代わりに分散スイッチで動作しない理由の詳細を探しています。私の推測では、BULK INSERT操作はシリアルであり、分散スイッチでは、パケットは異なるホストを介してルーティングされており、その一部は他のホストよりビジーであり、遅延しきい値を超えて宛先サーバーに到達しています。(注:ソースまたは宛先サーバーのいずれかでエラーが発生したとき、Windowsイベントログには何もありません)
更新:問題はNICが原因であることが判明しました。すべてのVMは、標準スイッチで十分に機能するE1000 NICで構成されました。分散スイッチに移行すると、SQLクエリだけでなく、大量のデータ転送に関する問題が発生し始めました。NICをVMXNET3に変更すると、問題が解決したようです。