Я использую класс SqlBulkCopy для массовой вставки в БД SQLServer.
Исходный размер файла .mdf, связанного с БД, составляет 1508 Мб.
Когда я запускаю его (на тех же данных около 4 миллионов записей) с помощью:
BatchSize размером 100000, размер .mdf увеличивается до 1661 МБ.
BatchSize 1000000, размер .mdf увеличивается до 1659 МБ.
Почему этот вариант? Такое небольшое отклонение пренебрежимо мало, за исключением того, что , когда мой Tester запускает его (на тех же данных) с размером пакета 100, файл .mdf растет безумно, пока не использует все 20 доступных ему гигабайт а затем происходит ошибка из-за недостатка свободного места.
Это потому, что у SqlBulkCopy есть несколько блоков фиксированного размера, которые он выделяет?
Он отлично работает с BatchSizes> 100000, но я хочу понять причину этого странного поведения / ошибки.