Управление версиями базы данных SQL Server с использованием SSDT - PullRequest
1 голос
/ 20 марта 2019

У меня есть база данных sql server, уже содержащая данные. Я хочу начать создавать версии. Я знаю, что могу использовать проект базы данных в Visual Studio, и, импортируя базу данных, я могу создавать сценарии sql.

А как насчет данных в базе данных? Я пытался создать несколько файлов приложения уровня данных, но когда я пытаюсь импортировать его в свой проект БД в Visual Studio, я получаю эту ошибку:

Import Data-Tier Application File - This operation is not supported for packages containing data

Так как мне импортировать данные? Это должно быть каким-то образом, потому что, когда я извлекаю файл DAC, есть опция Extract Schema and Data, поэтому должен быть способ использовать эти данные впоследствии.

А может, сценарии после развертывания - единственный вариант?

Grettings

1 Ответ

0 голосов
/ 21 марта 2019

В настоящее время для этого можно использовать только сценарии после развертывания для заполнения этих таблиц, принимая во внимание тот факт, что сценарии должны запускаться несколько раз без повторной вставки данных.Временная переменная таблица / таблица и оператор MERGE, вероятно, являются вашими лучшими ставками, если у вас могут быть изменения в справочных данных, в противном случае может быть достаточно левого соединения.

Другие пытались включить справочные данные, но это довольноСложная проблема, которая решается хорошо для всех.Я знаю, что другие, такие как Эд Эллиотт, написали некоторые вещи, которые могут включать и выключать их по мере необходимости, поэтому вы не всегда включаете все справочные данные каждый раз.Вы также можете изучить сценарий после развертывания, когда после публикации и развертывания вы запускаете отдельный сценарий, который обновляет данные из статических файлов.Они по-прежнему будут находиться под контролем исходного кода, но не обязательно будут частью вашего проекта SSDT.Вы должны помнить, чтобы запускать этот скрипт в своих сборках.

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

...