Я пытаюсь скопировать таблицу с одного сервера SQL на другой.Источник - SQL Server 2014, место назначения - SQL Server 2016. Я не могу получить скорость выше, чем около 60 МБ / с.У меня есть около 1,5 миллиардов строк для копирования, общий размер таблицы примерно 1 ТБ.
На исходном сервере установлен RAID 5 из SSD-дисков SATA, а в качестве места назначения используется рейд 0 из SSM-дисков NVME.Обе машины подключены 10GbE, прямой без коммутатора.Я могу скопировать несколько ГБ файлов за несколько секунд, поэтому я думаю, что сеть и диски настроены правильно.
Я использую SSIS и попробовал просто «табличный» источники запрос select *
.Пакет создает таблицу назначения, и я использую быструю загрузку.Я пробовал oledb для SQL Server и собственный клиент SQL для типов соединений.Я пробовал где-то от 1 до 12 параллельных источников / назначений в моем потоке данных, и я получаю примерно в 3 раза большую скорость при переходе от 1 до 12. Но у меня нет простого способа дальнейшего разделения данных для увеличения параллелизма.
Я играл с буферами и размером пакета безрезультатно.
В исходной таблице около 100 столбцов.
Я ожидал получить по крайней мере 300-500 МБ /Для этого, и, надеюсь, по крайней мере, насытить скорость чтения исходного диска (~ 800 МБ / с).Я что-то упустил или это просто ограничение SQL Server?