По состоянию на 2013 год ...
Единственная возможность сэкономить время, по моему мнению, для загрузки больших / огромных файлов XML в SQL Server - это (как кто-то ранее кратко упомянул) использование библиотеки SQLXML 4.0 .
Это решение, которое я принял для ежедневной загрузки огромных файлов XML (размером 7 ГБ ). Предыдущий процесс, который использовал манипулирование C # в задаче сценария, занял несколько часов. Использование SQLXML 4.0 занимает 15-20 минут . Как установить SQLXML 4.0. шаг за шагом здесь . Для практических примеров того, как это сделать от начала до конца , перейдите по ссылке MSDN
Мой XML также имеет вложенные элементы, поэтому он довольно сложный, в результате получается 10 таблиц с 2,5-4 миллионами строк в каждой (ежедневный файл иногда превышает 7 ГБ). Моя работа основывалась исключительно на информации, которую я узнал и применил по двум указанным выше ссылкам.
Преимущества
- это быстро
- это Microsoft (http://www.microsoft.com/en-gb/download/details.aspx?id=30403)
- Пакет служб SSIS будет очень упрощен
- вам не нужно тратить часы и часы на изменение пакета служб SSIS, если ваша XML-схема изменяется. SQLXML может создавать таблицы в SQL Server для вас каждый раз, когда вы запускаете пакет, на основе предоставленных вами отношений XSD.
Недостатки
- создание XSD может занять некоторое время и потребовать некоторых знаний. Когда я это сделал, я узнал что-то новое, так что это не было для меня недостатком.
- увидев, насколько прост пакет SSIS, у вашего менеджера будет впечатление, что вы не выполняли никакой работы.
Для просмотра больших файлов используйте Средство просмотра больших текстовых файлов , красивый маленький драгоценный камень.
Примечание. Вопрос довольно старый, но проблема остается горячей. Я добавил этот пост для разработчиков, которые Google, как ЗАГРУЗИТЬ XML-файлы в SSIS и приземлиться здесь.