Es probable que esto no sea un problema del servidor SQL, pero la configuración parece estar afectando a INSERTOS EN GRANEL para los servidores SQL.
Recientemente hemos movido VM Hardware y todos los invitados que fueron trasladados tuvieron sus conmutadores virtuales cambiados de estándar a distribuido.
Entonces comencé a recibir
Se produjo un error fatal al leer la secuencia de entrada de la red. La sesión finalizará (error de entrada: 64, error de salida: 0)
en dos servidores SQL durante las operaciones BULK INSERT. Uno de los servidores SQL era una VM con la nueva configuración y el otro era un servidor físico. Ambas operaciones BULK INSERT se originaron en una VM con la nueva configuración. Los INSERTOS A GRANEL no fallaban siempre, era muy aleatorio cuando lo hacía.
Cuando cambiamos el conmutador virtual para que sea un conmutador estándar en lugar de un conmutador distribuido, el problema desaparece.
Estoy buscando más explicaciones de por qué no funciona con un conmutador distribuido en lugar de una resolución. Supongo que la operación BULK INSERT es en serie y con un conmutador distribuido los paquetes se enrutan a través de diferentes hosts, algunos de los cuales pueden estar más ocupados que otros, y están llegando al servidor de destino más allá de un umbral de latencia. (nota: no hay nada en el registro de eventos de Windows en el momento de los errores en el servidor de origen o de destino)
ACTUALIZACIÓN: resulta que el problema se debió a la NIC. Todas nuestras máquinas virtuales se configuraron con una NIC E1000 que funcionó lo suficientemente bien en los conmutadores estándar. Una vez que nos mudamos a los conmutadores distribuidos, comenzamos a ver problemas con grandes transferencias de datos, no solo consultas SQL. Cambiar la NIC a VMXNET3 parece haber resuelto el problema.