Вопрос

У меня есть таблица базы данных на сервере разработки, которая теперь полностью заполнена после того, как я настроил ее запуск с помощью процедуры импорта для файла CSV, содержащего 1,4 миллиона строк.

Я запустил мастер публикации баз данных на столе, и теперь у меня на локальном компьютере находится сценарий SQL объемом 286 МБ. Проблема в том, что я не могу понять, как его запустить. Если я загружаю его в SQL Server Management Studio Express, я получаю окно с предупреждением «Операция не может быть завершена».

Есть идеи, как мне запустить этот сценарий SQL?

Это было полезно?

Решение

Запуск чего-то такого большого в одной транзакции - не очень хорошая идея. Поэтому я бы рекомендовал разбить файл на более мелкие, более управляемые куски.

Другой вариант - взглянуть на некоторые другие способы прямого импорта данных CSV.

Другие советы

используйте sqlcmd для запуска файла ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

В случае, если у вас есть необъяснимая "ошибка скрипта" " для больших файлов sql (> 100 МБ), которые включают несколько INSERT, просто замените "INSERT INTO" "GO INSERT INTO" в вашем файле, что уменьшит размер транзакции.

Этот инструмент ( Средство запуска файла больших сценариев SQL ) в CodePlex запускает файл сценариев любого размера с журналом и графическим интерфейсом.

Добавление к ответу Гульзара Назима: Если вы все еще получаете ошибку, попробуйте указать кодовая страница вашего файла SQL с использованием параметра -f :

sqlcmd -S myServer \ instanceName -d имя-базы-данных -i C: \ myScript.sql -f 65001

Я пытался импортировать файл .dump из SQLite (по умолчанию UTF-8), и sqlcmd продолжал выдавать ошибку после обнаружения первого специального символа. -f 65001 исправил это для меня.

Почему бы просто не использовать DTS для прямого импорта файла CSV?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top