Це, швидше за все, не проблема сервера SQL, але, здається, ця настройка впливає лише на BULK INSERTS на сервери SQL.
Ми нещодавно перенесли апаратне забезпечення VM, і всі гості, які були переміщені, змінили свої віртуальні комутатори зі стандартних на розповсюджені.
Потім я почав приймати
Під час читання вхідного потоку з мережі сталася фатальна помилка. Сеанс буде припинено (помилка введення: 64, помилка виводу: 0)
на двох серверах SQL під час операцій BULK INSERT. Один із серверів SQL був ВМ з новою конфігурацією, а другий - фізичним сервером. Обидві операції BULK INSERT походять від VM з новою конфігурацією. БУЛЬКІ ВСТАВКИ не провалювалися б кожен раз, це було дуже випадково, коли це станеться.
Коли ми змінили віртуальний комутатор на стандартний перемикач замість розподіленого перемикача, проблема відходить.
Я шукаю більше пояснень, чому він не працює з розподіленим комутатором замість роздільної здатності. Я думаю, що операція BULK INSERT є послідовною, і з розподіленим комутатором пакети передаються через різні хости, деякі з яких можуть бути більш зайнятими, ніж інші, і надходять на сервер призначення за межею певного порогу затримки. (зауважте: у журналі подій Windows немає нічого під час помилок на джерелі або на сервері призначення)
ОНОВЛЕННЯ: виявляється, це було пов’язано з NIC. Всі наші VM були налаштовані на E1000 NIC, який функціонував досить добре на стандартних комутаторах. Як тільки ми перейшли до розподілених комутаторів, ми почали спостерігати проблеми з великими передачами даних, а не просто sql-запитами. Зміна NIC на VMXNET3, здається, вирішила проблему.