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

Область применения: yesSQL Server (все поддерживаемые версии) YesБаза данных SQL Azure YesУправляемый экземпляр SQL Azure

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

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

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

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

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

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

Operations

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

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.

Пакет BAC

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

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

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

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

DACPAC и BACPAC

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

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

Проекты DACPAC и SQL

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

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

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

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

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

Формат файла

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

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

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

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

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

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

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

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

Дальнейшие действия