Как включить данные в DacPac
в среде SQL Server Data Tools for Visual Studio можно создать проект Sql Server и импортировать структуру базы данных. Это работает очень хорошо.
также можно импортировать данные? Например, допустим, у меня есть таблица типов с несколькими типами. Я хотел бы иметь эти данные в проекте Sql Server, поэтому, когда я публикую его, он также публикует данные.
самое близкое, что я смог выяснить, - это использовать Обозреватель объектов Sql Server для создания сценарий для данных, а затем вручную добавьте этот сценарий в проект.
когда я увидел демонстрацию SQL Server Data Tools, то показал публикацию проекта, но затем с помощью копирования и вставки, чтобы получить данные в базу данных. Конечно, есть лучший способ.
изменить Годы спустя я, наконец, понял это: есть два типа экспорта: 1. DACPAK-который включает только структуру, 2. В BACBAK который включает и структуру данных.
вы можете создать либо из SSMS: 1. DACPAK: выберите базу данных, щелкните правой кнопкой мыши для задач - > извлечь приложение уровня данных. 2. Выберите база данных, щелкните правой кнопкой мыши для задач - > экспортировать приложение уровня данных.
2 ответов
Это не совсем из Visual Studio, как вы просили, но это может быть временное решение. Если ваша БД существует на dev-сервере, возможно, вы можете использовать SqlPackage.exe Export
и Extract
действия:
Для Экспорта
по умолчанию данные для всех таблиц будут включены в .bacpac-файл.
В SqlPackage.действие экспорта exe экспортирует живую базу данных из SQL Server или базы данных SQL Windows Azure в Пакет BACPAC (.файл bacpac). По умолчанию данные для всех таблиц будут включены в .bacpac-файл. При необходимости можно указать только подмножество таблиц для экспорта данных. Проверка действия экспорта обеспечивает совместимость базы данных SQL Windows Azure с полной целевой базой данных, даже если для экспорта указано подмножество таблиц.
sqlpackage.exe /action:Export /TargetFile:"test.bacpac"
/sourceDatabasename:test
/sourceservername:.\testserver
вы можете импортировать ваши https://msdn.microsoft.com/en-us/library/hh710052.aspx
Экстракт
делает DACPAC с данными таблицы пользователя
sqlpackage.exe /action:Extract /TargetFile:"test.dacpac"
/sourceDatabasename:test
/sourceservername:".\testserver"
/p::ExtractAllTableData=true
если вы не хотите использовать SqlPackage.exe, этой статья старая, но у нее есть три обходных пути, которые могут работать:
1) повторно разверните то же самое .dacpac файл с помощью SSMS " обновление приложения уровня данных..."волшебник под Узел[сервер]/управление/приложение уровня данных/[имя приложения] в Обозревателе объектов SSMS. Мастер обновления представляет опции флажков для выполнения сценариев до и/или после развертывания в окне .файл dacpac. Включение параметров сценария до и после развертывания, а затем выполнение обновления приведет к ожидаемому результату.
2) вручную выполните файлы сценариев dacpac до и/или после развертывания T - SQL, используя окно запроса SSMS, SQLCMD.exe, или simliar. Этот требует, чтобы автор DACPAC отправлял сценарии до / после развертывания вместе с файлом DACPAC. Кроме того, сценарии до/после развертывания можно извлечь с помощью пакета Microsoft DacUnpack.exe utility или утилита ZIP-файла (после переименования расширения файла из .dacpac в .промелькнуть.)
3) Используйте MSBuild.exe (v4.0.30319.1 или выше) или Visual Studio 2010 Premium SP1 (или выше) для развертывания файла проекта "приложение уровня данных SQL Server". (Exampe: "msbuild / цель: развертывание DeploymentDemo.dbproj-файл").
годы спустя я, наконец, понял это: есть два типа экспорта: 1. DACPAK-который включает только структуру, 2. В BACPAK который включает и структуру данных.
вы можете создать либо из SSMS: 1. DACPAK: выберите базу данных, щелкните правой кнопкой мыши для задач - > извлечь приложение уровня данных. 2. Выберите база данных, щелкните правой кнопкой мыши для задач - > экспортировать приложение уровня данных.