2016-06-08 5 views
0

Я экспортировал свою базу данных в SQL-скрипты, используя SQL Management Studio как в виде одного файла, так и в виде нескольких файлов. В обоих случаях, когда я создаю пустой проект базы данных в VS.net 2015 и выбираю «Импорт ... Сценарий» и выбираю либо мой один большой скрипт, либо папка с несколькими сценариями не создает никаких артефактов в проекте.Импорт из SQL-скриптов всегда сбой

Журнал для файла импорта из нескольких файлов дает

08/06/2016 15:33:18 This log contains information about the import operation of the script 'dbo.SOMETABLENAME.Table.sql' into project 'MYPROJECTNAME' on computer 'MYCOMPUTER' by user'philliph. 
08/06/2016 15:33:33 Started importing file: C:\Users\philliph\AppData\Local\Temp\tmp29BA.tmp 
08/06/2016 15:33:33 File name C:\Users\philliph\AppData\Local\Temp\tmp29BA.tmp (size: 5800811) 
08/06/2016 15:33:33 Parsing import script 
08/06/2016 15:34:07 A summary of the import was saved to the following location: MYSOURCELOCATION\Import Script Logs\dbo_FIRSTTABLENAME__20160608023318.log 
08/06/2016 15:34:07 Click Finish to continue... 

И лог-файл для одного файла импорта дает не более полезную информацию. Я попытался экспортировать с SQL Server с использованием форматов ASCII или UNICODE, и сами скрипты выглядят нормально. Я могу импортировать в проект базы данных непосредственно из самой базы данных, но не хочу этого делать, потому что у меня много артефактов базы данных репликации SQL, которые я не хочу ставить под контроль исходного кода, а сценарий экспорта в Management Studio позволяет мне отфильтровывать их.

Неужели кому-нибудь удалось импортировать из сценария успешно или есть какой-то секрет? Я замечаю, что журнал, похоже, создает большой файл temp, но его удаляют, как только инструмент завершает свою обработку (что занимает пару минут), поэтому я не могу сказать, что он содержит.

+0

Мне удалось использовать импорт из сценария для одноразовых новых объектов, но он никогда не пробовал его для заполнения начального проекта. Для этого я всегда использовал либо дакпак, либо прямое соединение. Дакпак на самом деле дал мне лучший успех, поскольку он, как правило, игнорировал зависимости. –

ответ

0

Для записи я никогда не нашел способ успешного импорта из скриптов. Я пытался сделать это, чтобы избежать импорта артефактов репликации из моей живой базы данных. Следуя идее, опубликованной в http://weblogs.asp.net/gunnarpeipman/using-visual-studio-database-projects-in-real-life, я использовал инструмент сравнения схем для создания сравнения между моей активной базой данных и пустым проектом базы данных. Этот инструмент позволил мне отфильтровать любые объекты базы данных, которые я хотел, прежде чем применять сравнение с моим проектом базы данных.

Хотя это не решило мой первоначальный вопрос, это обходное решение может быть полезно для других.