Я использую мастер импорта/экспорта SQL Server для загрузки нескольких больших (> 100 ГБ) плоских файлов на SQL Server. Эти файлы с разделителями, а не фиксированной ширины, но до сих пор постороннее косую Пробелы внутри колонок:SQL Server обрезает пробелы из плоского файла при импорте
100,VALUE ,VALUE ,VALUE
1002,VALUE ,VALUE ,VALUE
у меня нет контроля над тем, как создаются эти файлы. К сожалению, пробелы сохраняются в SQL после загрузки. Я заметил, что я могу добавить SET ANSI_PADDING OFF;
в SQL-запрос, автоматически созданный мастером, но похоже, что этот параметр не рекомендуется. Есть ли лучшее средство для этого процесса? Стоит ли это делать?
Очистка файлов заранее невозможна, учитывая, что в общей сложности у меня есть около 10 ТБ данных для загрузки, и для выполнения кода потребуется несколько дней, возможно, недель. Я думаю, что запуск ALTER COLUMN ... LTRIM(RTRIM([column_name]))
будет очень трудоемким.
Сомневаюсь ANSI_PADDING изменит что-либо, если пространства на самом деле в файлах данных. Я думаю, что у вас нет другого выбора, кроме как предварительно очистить файлы, или обрезать пробелы с помощью 'update'. С 10TB это займет некоторое время, но я не вижу другого решения. – HoneyBadger
Как ни странно, при тестировании он, похоже, удалял пробелы. – HoHo