Импорт в проект базы данных
Функцию импорта можно использовать для заполнения проекта новыми объектами из активной базы данных или файла DACPAC либо для обновления имеющихся объектов в проекте новым определением из скрипта.Следует отметить некоторые приведенные ниже различия в поведении между этими тремя действиями.
Меню импорта
Подразделы этого раздела
Источник импорта: база данных или приложение уровня данных (*.dacpac)
Источник импорта: скрипт (*.sql)
Импорт зашифрованных объектов
Источник импорта: база данных или приложение уровня данных (*.dacpac)
Возможность импорта схемы из базы данных или файла DACPAC доступна только в том случае, если в проекте еще не определены никакие объекты схемы.Это не относится к журналам рефакторинга или скриптам, выполняемым до и после развертывания.
При импорте определения объектов записываются в файлы проекта с использованием параметров организации по умолчанию SSDT для новых объектов: новых файлов объектов верхнего уровня, иерархических потомков, определенных в том же файле в качестве родительского элемента, ограничений таблицы или столбца, определенных встроенным образом, где это возможно.Чтобы обеспечить более целенаправленную видимость и управление для каждого объекта, воспользуйтесь не импортом, а функцией «Сравнение схемы».
Если источник импорта содержит скрипты, выполняемые до и после развертывания, журналы рефакторинга или определения переменных SQLCMD, то они будут импортированы в проект.Если проект уже содержит любой из этих объектов, то импортированные файлы будут добавлены в папку проекта Пропущенное при импорте.
Папка «Пропущенное при импорте»
Источник импорта: скрипт (*.sql)
Все объекты из источника импорта, которые на данный момент отсутствуют в проекте, будут добавлены, а все объекты в источнике импорта, которые уже есть в проекте, перезапишут соответствующие определения в проекте.
Примечание |
---|
Известны две ошибки данного метода, которые будут исправлены в следующем выпуске:
|
Процесс «Импорт из скрипта» не обрабатывает сценарии, выполняемые до или после развертывания, переменные SQLCMD и файлы журналов рефакторинга.Эти и другие неподдерживаемые конструкции, обнаруженные во время импорта, будут помещены в файл ScriptsIgnoredOnImport.sql в папке Скрипты проекта.
Дополнительные сведения см. на форуме разработчиков служб SSDT по адресу https://social.msdn.microsoft.com/Forums/en-US/ssdt/threads.
Импорт зашифрованных объектов
При импорте зашифрованных объектов в проект базы данных полный текст определения объекта не всегда может быть получен с сервера.Таким образом, поведение при импорте может быть различным при работе с данным классом объектов.
Если полный текст определения получить не удается, то в скрипт помещается верхний и нижний колонтитул объекта с фиктивным текстом.Такое поведение может возникнуть при импорте или сравнении схемы, когда источником является активная база данных или файл DACPAC, извлеченный из базы данных.
Скрипт с фиктивным текстом
Если доступно и может быть получено полное определение объекта, операция импорта или сравнения схемы поместит его в проект полностью.Это происходит при обновлении проекта из скрипта, файла DACPAC, построенного на основе проекта базы данных, или другого проекта базы данных.