Приложения уровня данных (DAC)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Приложение уровня данных (DAC) — это логическая сущность базы данных, которая определяет все объекты SQL Server, такие как таблицы, представления и объекты экземпляров, включая имена входа, связанные с базой данных пользователя. DAC — это автономная единица всей модели базы данных и переносимая в артефакт, известный как пакет DAC или DACPAC. Поддержка инструментов для приложений уровня данных позволяет разработчикам и администраторам баз данных развертывать dacpacs в новых или существующих базах данных. Развертывания в существующей базе данных обновляют модель базы данных из существующего состояния, чтобы соответствовать содержимому dacpac. Разработчики создают daCs из проектов базы данных SQL, декларативную концепцию разработки для создания объектов SQL, позволяющих управлять версиями в схеме базы данных.

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

Преимущества приложений уровня данных

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

Приложения уровня данных обеспечивают декларативную разработку баз данных, упрощая процесс разработки и предоставляя более последовательный и прогнозируемый интерфейс разработки. Разработчик может создать базу данных с проектами базы данных SQL в их выборе интегрированной среды разработки (IDE). Проект базы данных SQL можно скомпилировать в пакет DAC локально или в конвейере DevOps. Пакет DAC, в свою очередь, развертывается в тестовой, промежуточной или рабочей базе данных с помощью автоматизированного процесса или вручную с помощью средства КОМАНДНОй строки или графического интерфейса. Dacpac можно использовать для обновления базы данных с новыми или измененными объектами, для отменить изменения до предыдущей версии базы данных или для подготовки совершенно новой базы данных. И наоборот, dacpac можно создать из существующей базы данных и использовать для создания проекта базы данных SQL на основе текущей схемы базы данных.

Преимущество развертывания на основе приложения уровня данных по сравнению с процессом, управляемым миграцией, заключается в том, что процесс обеспечивает идентификацию и проверку поведения из разных исходных и целевых баз данных. Средства, используемые во время развертывания и обновления базы данных, имеют возможность пометить рискованные действия, такие как изменения размера столбцов, которые могут привести к потере данных и возможности напрямую скриптировать план обновления. Этот план можно оценить вручную, прежде чем продолжить обновление.

Operations

DAC упрощает разработку, развертывание и управление элементами уровня данных, поддерживающими приложение.

DACPAC

Приложение уровня данных поддерживает следующие операции:

Эти возможности можно найти в SqlPackage, SQL Server Management Studio, Azure Data Studio и SQL Server Data Tools.

Проекты базы данных SQL

Проект SQL поддерживает следующие операции:

  • BUILD — пользователь может создать проект базы данных SQL в dacpac.

  • PUBLISH — пользователь может опубликовать проект базы данных SQL на хост-сервере.

  • EXTRACT — пользователь может извлечь базу данных в проект базы данных SQL.

Эти возможности можно найти в Azure Data Studio, Visual Studio Code и SQL Server Data Tools.

BACPAC

Bacpac, с другой стороны, сосредоточен на захвате схемы и данных, поддерживающих две основные операции:

  • EXPORT- Пользователь может экспортировать схему и данные базы данных в BACPAC. Дополнительные сведения см. в статье об экспорте и экспорте приложения уровня данных SqlPackage.

  • IMPORT — пользователь может импортировать схему и данные в новую базу данных. Дополнительные сведения см. в разделе импорта и импорта BACPAC-файла SqlPackage для создания новой пользовательской базы данных.

Эти возможности поддерживаются средствами SqlPackage, SQL Server Management Studio, Azure Data Studio и портал Azure.

Средства DAC

Артефакты приложений уровня данных и проекты SQL можно использовать в нескольких средствах. Эти средства решают требования различных пользователей.

DACPAC и BACPAC

Следующие средства поддерживают формат пакета DAC и формата пакета BAC:

В этих средствах база данных может быть извлечена в dacpac или экспортирована в BACPAC. И наоборот, bacpac можно импортировать в новую базу данных или dacpac можно опубликовать в новой или существующей базе данных.

Проекты DACPAC и SQL

Следующие средства поддерживают формат пакета DAC помимо редактирования проектов базы данных SQL:

В этих средствах разработчики могут разрабатывать базу данных в несоединяемой клиентской среде разработки. Средства можно использовать для создания пакета DAC, развертывания пакета DAC в базе данных и импорта пакета базы данных в проект SQL.

Основные понятия DAC

Поддерживаемые версии

Как правило, средства DAC могут считывать dacpac-файлы , созданные средствами DAC из предыдущих версий SQL Server, а также развертывать пакеты DAC в предыдущих версиях SQL Server. Однако средства DAC из более ранних версий не могут читать DACPAC-файлы , созданные средствами DAC из более поздних версий. Как минимум, средства DAC поддерживают поддерживаемые версии SQL Server во время их выпуска.

File format

Dacpac — это сжатая папка с расширением DACPAC , а bacpac — это сжатая папка с расширением BACPAC . Расширенный пользователь может распаковывать файл для просмотра нескольких разделов XML, представляющих сведения о источнике, объектах в базе данных и других характеристиках. Чтобы распаковывать DACPAC или BACPAC, замените расширение файла ZIP и используйте программу сжатия файлов для распаковки файла.

Регистрация приложения уровня данных

В SQL Server Management Studio другие действия можно выполнить в базе данных, чтобы зарегистрировать ее в качестве приложения уровня данных.

  • РЕГИСТРАЦИЯ — пользователь может зарегистрировать базу данных в качестве приложения уровня данных.

  • ОТМЕНА РЕГИСТРАЦИИ — можно отменить регистрацию базы данных, ранее зарегистрированной в качестве приложения уровня данных.

  • UPGRADE — базу данных можно обновить с помощью DACPAC.

Дополнительные сведения об этих действиях см. в следующих задачах.

Задача Ссылка на статью
Описывает, как с помощью нового файла пакета DAC обновить экземпляр DAC до новой версии. Обновление приложения уровня данных
Описывает порядок удаления экземпляра DAC. Также можно отсоединить или удалить связанную базу данных или оставить ее без изменений. Удаление приложения уровня данных
Описывает процедуру обновления существующей базы данных до экземпляра DAC. Определение DAC строится и хранится в системной базе данных. Регистрация базы данных в качестве приложения уровня данных
Описывает процесс анализа содержимого пакета DAC, а также действия, которые выполняет обновление DAC перед использованием пакета в рабочей системе. Проверка пакета приложения уровня данных

Следующие шаги