Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:✅SQL database в Microsoft Fabric
В этом руководстве вы узнаете, как работать с базой данных SQL в Fabric с помощью системы управления версиями источника интеграции Fabric git.
База данных SQL в Microsoft Fabric имеет интеграцию с системой контроля версий (git интеграция), чтобы пользователи могли отслеживать определения своих объектов базы данных в течение времени. Эта интеграция позволяет команде:
- Внесите базу данных в систему управления версиями, которая автоматически преобразует актуальную базу данных в код в настроенной системе управления версиями (например, Azure DevOps).
- Обновите объекты базы данных из содержимого системы управления версиями, которая проверяет код в репозитории системы управления версиями перед применением разностного изменения к базе данных.
Если вы не знакомы с git, вот несколько рекомендуемых ресурсов:
В этой статье представлен ряд полезных сценариев, которые можно использовать отдельно или в сочетании для управления процессом разработки с базой данных SQL в Fabric:
- Преобразование базы данных SQL Fabric в код в системе управления версиями
- Обновите базу данных SQL Fabric из системы управления версиями
- Создать область рабочего пространства для ветки
- Слияние изменений из одной ветви в другую
- Управление статическими данными с помощью скрипта после развертывания
Сценарии, описанные в этой статье, рассматриваются в эпизоде программы Data Exposed. Посмотрите видео для обзора интеграции системы управления исходным кодом в Fabric.
Примечание.
Параметры уровня базы данных, такие как параметры сортировки и уровня совместимости, в настоящее время не включаются в интеграцию с системами управления версиями и конвейерами развертывания. Для параметров базы данных, которые можно задать с помощью T-SQL после создания базы данных, можно изменить базу данных с помощью скриптов после развертывания.
Предварительные требования
- Вам нужна существующая емкость Fabric. Если вы этого не сделали, запустите пробную версию Fabric.
- Убедитесь, что вы включите параметры клиента интеграции Git.
- Создайте новую рабочую область или используйте существующую рабочую область Fabric.
- Создайте или используйте существующую базу данных SQL в Fabric. Если у вас еще нет одного, создайте новую базу данных SQL в Fabric.
- Необязательно: Установите Visual Studio Code, расширение MSSQL и расширение 'SQL projects' для VS Code.
Настройка
Это подключение репозитория применяется на уровне рабочей области, таким образом, что одна ветвь в репозитории связана с этой рабочей областью. Репозиторий может иметь несколько ветвей, но только код в ветви, выбранной в параметрах рабочей области, напрямую влияет на рабочую область.
Инструкции по подключению рабочей области к репозиторию системы управления версиями см. в разделе Начало работы с интеграцией Git. Рабочая область может быть подключена к Azure DevOps или GitHub удаленному репозиторию.
Добавьте базу данных SQL Fabric в управление версиями
В этом сценарии объекты базы данных фиксируются в системе контроля версий. Возможно, вы разрабатываете приложение, где вы создаете объекты непосредственно в тестовой базе данных и отслеживаете эту базу данных в системе управления версиями так же, как код приложения. В результате у вас есть доступ к журналу определений объектов базы данных и может использовать понятия Git, такие как ветвление и слияние для настройки процесса разработки.
- Подключитесь к вашей базе данных SQL в редакторе SQL Fabric, в SQL Server Management Studio, в расширении MSSQL для Visual Studio Code или с помощью других внешних средств.
- Создайте таблицу, хранимую процедуру или другой объект в базе данных.
- Нажмите кнопку "Управление версиями", чтобы открыть панель управления версиями.
- Установите флажок рядом с требуемой базой данных. Выберите Применить. Служба Fabric считывает определения объектов из базы данных и записывает их в удаленный репозиторий.
- Теперь можно просмотреть историю объектов базы данных в представлении исходного кода репозитория.
При продолжении редактирования базы данных, включая редактирование существующих объектов, зафиксируйте эти изменения в системе управления версиями, выполнив описанные выше действия.
Файл проекта SQL
Файл проекта SQL в репозитории системы управления версиями содержит метаданные о базе данных. Интеграция управления версиями Fabric использует этот файл для повышения функциональности в конвейерах управления версиями и развертывания. Интеграция системы управления версиями Fabric автоматически создает и обновляет файл проекта. Избегайте ручного редактирования в файле проекта, так как ваши изменения перезаписываются интеграцией управления версиями Fabric при следующем коммите из Fabric. Однако если вы хотите создать проект SQL локально с помощью таких средств SQL, как SQL Server Management Studio или расширение проектов SQL для Visual Studio Code, можно добавить ссылку на master.dacpac файл в файле проекта.
Интеграция Fabric с проектами SQL добавляет эти свойства метаданных в файл проекта:
- Исключает папку
.sharedQueriesиз сборки проекта базы данных. Это исключение позволяет отслеживать скрипты в системе управления версиями без влияния на проверку модели базы данных. - Скрипты предварительного развертывания и после развертывания из папки .sharedQueries
- Системный объект ссылается на пакет в качестве ссылки на файл master.dacpac
Возможность ссылок на системные объекты настраивается автоматически без каких-либо действий. Редактор запросов Fabric предоставляет скрипты предварительного развертывания и после развертывания в папке "Общие запросы ".
Обновление базы данных SQL Fabric из системы управления версиями
В этом сценарии вы создаете объекты базы данных в виде кода в расширении проектов SQL в Visual Studio Code, а затем фиксируете файлы в системе управления версиями перед обновлением базы данных SQL Fabric из интеграции системы управления версиями. Этот сценарий предназначен для разработчиков, которые предпочитают работать в Visual Studio Code, имеют существующие приложения с помощью проектов SQL или имеют более сложные требования к конвейеру CI/CD.
- Установите последний выпуск Visual Studio Code и расширения проектов MSSQL и SQL для Visual Studio Code.
- Создайте базу данных SQL в рабочей области и зафиксируйте ее в систему управления версиями без добавления объектов. На этом шаге в репозиторий добавляются пустые метаданные проекта SQL и элемента базы данных SQL.
- Клонируйте репозиторий системы контроля версий на локальную машину.
- Если вы используете Azure DevOps, выберите контекстное меню
...для проекта управления исходным кодом. Выберите Clone, чтобы скопировать репозиторий Azure DevOps на локальный компьютер. Если вы не знакомы с Azure DevOps, обратитесь к руководству Code с использованием Git для Azure DevOps. - Если вы используете GitHub, нажмите кнопку Code в репозитории и скопируйте URL-адрес, чтобы клонировать репозиторий на локальный компьютер. Если вы не знакомы с GitHub, ознакомьтесь с руководством по клонированию репозитория.
- Если вы используете Azure DevOps, выберите контекстное меню
- Откройте клонированную папку в Visual Studio Code. Ветвь, связанная с вашей рабочей областью, может не быть ветвью по умолчанию. После переключения ветви вы увидите папку с именем
<yourdatabase>.SQLDatabaseв Visual Studio Code. -
.sqlСоздайте файл по крайней мере для одной таблицы, которую нужно создать в базе данных в структуре папок для базы данных. Файл должен содержать инструкциюCREATE TABLEдля таблицы. Например, создайте файл с именемMyTable.sqlв папкеdbo/Tablesсо следующим содержимым:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) ); - Чтобы убедиться, что синтаксис действителен, проверьте модель базы данных с помощью проекта SQL. После добавления файлов используйте представление "Проекты баз данных" в Visual Studio Code для создания проекта.
- После успешной сборки зафиксируйте файлы в системе управления версиями с помощью представления системы управления версиями в Visual Studio Code или предпочтительного локального интерфейса Git.
- Отправьте и синхронизируйте коммит в удалённый репозиторий. Убедитесь, что новые файлы отображаются в Azure DevOps или GitHub.
- Вернитесь к веб-интерфейсу Fabric и откройте панель управления версиями в рабочей области. Возможно, у вас уже есть оповещение о том, что у вас есть ожидающие изменения из Git. Нажмите кнопку "Обновить все", чтобы применить код из проекта SQL к базе данных.
- После обновления вы можете заметить, что база данных сразу укажет, что она "Не зафиксирована". Это состояние происходит, так как функция интеграции Git выполняет прямое сравнение всего содержимого файла, созданного для определения элемента, и возможны некоторые непреднамеренные различия. Одним из примеров являются встроенные атрибуты столбцов. В этих случаях необходимо вернуться к системе управления версиями в веб-интерфейсе Fabric, чтобы синхронизировать определение с тем, что создается в рамках операции фиксации.
- После завершения обновления используйте средство подключения к базе данных. Объекты, добавленные в проект SQL, отображаются в базе данных.
Примечание.
Если при внесении изменений в локальный проект SQL возникает синтаксическая ошибка или используются неподдерживаемые функции в Fabric, обновление базы данных не выполняется. Прежде чем продолжить, необходимо вручную отменить изменение в системе контроля версий.
Обновление базы данных SQL в Fabric через систему управления версиями объединяет сборку проекта SQL и публикацию с помощью SqlPackage. Сборка проекта SQL проверяет синтаксис файлов SQL и создает файл .dacpac. Операция публикации SqlPackage определяет изменения, необходимые для обновления базы данных в соответствии с файлом .dacpac . Из-за упрощенного характера интерфейса Fabric к операции публикации SqlPackage применяются следующие параметры:
/p:ScriptDatabaseOptions = false/p:DoNotAlterReplicatedObjects = false/p:IncludeTransactionalScripts = true/p:GenerateSmartDefaults = true
Вы также можете клонировать управляемый источником проект SQL на локальный компьютер для редактирования в Visual Studio Code, SQL Server Management Studio или других средствах проекта SQL. Создайте проект SQL локально, чтобы проверить изменения перед их внесением в систему контроля версий.
Создать рабочую область ветки
В этом сценарии вы настраиваете новую среду разработки в Fabric, позволяя системе создать дубликат набора ресурсов на основе определения исходного контроля. Дубликат базы данных включает объекты базы данных, которые вы проверили в системе управления исходным кодом. Этот сценарий предназначен для разработчиков, которые продолжают жизненный цикл разработки приложений в Fabric и используют интеграцию системы управления версиями из Fabric.
- Завершите сценарий преобразования базы данных SQL Fabric в код в системе управления версиями.
- У вас должна быть ветвь в репозитории системы управления версиями, которая содержит как проект SQL, так и метаданные объекта Fabric.
- В рабочей области Fabric откройте панель управления исходным кодом. На вкладке "Ветви" меню "Управление версиями" выберите "Создать ветку в новой рабочей области".
- Укажите имена создаваемой ветви и рабочей области. Ветвь создается в репозитории системы управления версиями и заполняется зафиксированным содержимым ветви, связанной с рабочей областью, из которой вы ветвитесь. Рабочая область создается в Fabric.
- Перейдите в только что созданную рабочую область в Fabric. После завершения создания базы данных только что созданная база данных теперь содержит объекты, указанные в репозитории кода. Если открыть редактор запросов Fabric и перейти в обозреватель объектов, ваша база данных включает новые (пустые) таблицы и другие объекты.
Слияние изменений из одной ветви в другую
В этом сценарии вы используете репозиторий системы контроля версий для проверки изменений базы данных, прежде чем они будут доступны для развертывания. Этот сценарий предназначен для разработчиков, работающих в среде команды и использующих систему управления версиями для управления изменениями базы данных.
Создайте две рабочие области с связанными ветвями в одном репозитории, как описано в предыдущем сценарии.
- При использовании базы данных в вторичной ветви внесите изменения в объекты базы данных.
- Например, измените существующую хранимую процедуру или создайте новую таблицу.
- Отправьте эти изменения в систему контроля версий с помощью кнопки "Фиксация" на панели управления версиями в Fabric.
- В Azure DevOps или GitHub создайте pull request из второстепенной ветки в основную.
- В pull-запросе можно увидеть изменения в коде базы данных между основным рабочим пространством и вторичным рабочим пространством.
- После завершения pull request система управления версиями обновляется, но база данных в Fabric в основной рабочей области не изменяется. Чтобы изменить базу данных-источник, обновите основную рабочую область из системы управления версиями с помощью кнопки "Обновить " на панели управления версиями в Fabric.
Управление статическими данными с помощью скрипта после развертывания
В этом сценарии вы управляете строками в таблице подстановки в базе данных с помощью системы управления версиями. Возможность, которая позволяет использовать эти функциональные возможности, скрипты перед развертыванием и после развертывания, также применяется к конвейерам развертывания, чтобы использовать одни и те же сценарии для управления статическими данными в обоих сценариях.
Из базы данных SQL в Fabric, подключенной к управлению версиями, выберите или создайте таблицу, для которой вы хотите управлять статическими данными. Например, у вас может
dbo.Colorsбыть таблица, используемая приложением, и имеет известный набор значений, которые часто не изменяются.Создайте новый запрос в редакторе базы данных SQL в Fabric. В редакторе запросов добавьте
MERGEоператор для управления содержимымColorsтаблицы. Рассмотрим пример.MERGE dbo.Colors AS target USING (VALUES (1, 'Red'), (2, 'Green'), (3, 'Blue') ) AS source (Id, Name) ON target.Id = source.Id WHEN MATCHED THEN UPDATE SET Name = source.Name WHEN NOT MATCHED BY TARGET THEN INSERT (Id, Name) VALUES (source.Id, source.Name) WHEN NOT MATCHED BY SOURCE THEN DELETE;Переименуйте запрос
Post-Deployment-StaticData.sqlи переместите его в общие запросы.В общих запросах выберите меню ... для запроса и выберите "Задать как скрипт после развертывания".
Этот запрос автоматически запускается как часть любого обновления из системы управления версиями или развертывания конвейера, чтобы с помощью системы управления версиями управлять статическими данными в таблице Colors. Запрос можно изменить в редакторе запросов Fabric и зафиксировать изменения в системе управления версиями для управления изменениями статических данных с течением времени. Кроме того, так как скрипты предварительного развертывания и после развертывания включены в проект SQL, вы также можете изменить запрос с локального компьютера с помощью Visual Studio Code или других средств проекта SQL, а затем зафиксировать эти изменения в системе управления версиями. Дополнительные сведения о сценариях предварительного развертывания и после развертывания см. в документации по проектам SQL.
Связанный контент
- SQL-база данных в Microsoft Fabric
- Руководство по управлению жизненным циклом в Fabric
- Обзор проектов SQL
- Средства проектов SQL