Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:✅ Хранилище данных в Microsoft Fabric
Узнайте, как настроить проект базы данных для хранилища данных Fabric в Visual Studio Code. Вы создадите новый проект, определите объекты схемы, создадите и проверьте проект и опубликуете его в хранилище.
Предпосылки
Прежде чем начать, убедитесь, что вы:
- Имеете доступ к существующему элементу хранилища в рабочей области Fabric, с разрешениями участника или более высокого уровня.
- Сведения о создании нового образца хранилища см. в статье "Создание примера хранилища в Microsoft Fabric".
- Установите Visual Studio Code на рабочей станции.
- Установите пакет SDK для .NET для создания и публикации проектов базы данных.
- Установите два расширения Visual Studio Code: проекты базы данных SQL и SQL Server (mssql).
- Необходимые расширения можно установить непосредственно в Visual Studio Code Marketplace, выполнив поиск по запросу "Проекты базы данных SQL" или "SQL Server (mssql)".
Создание проекта базы данных
Проект базы данных можно создать с нуля или существующего хранилища.
Вариант 1. Создание проекта базы данных из палитры команд в Visual Studio Code
Откройте Visual Studio Code.
Откройте палитру команд (
Ctrl+Shift+PилиCmd+Shift+Pна Компьютере Mac).Поиск проектов базы данных: новые.
Выберите тип проекта базы данных в качестве базы данных SQL Server.
Выберите имя проекта и выберите расположение локальной папки.
Выберите Хранилище данных Synapse в Microsoft Fabric в качестве целевой платформы.
При появлении запроса выберите Да (рекомендуется) для проекта в стиле SDK.
Это важно
Поддерживаются только проекты в стиле SDK для хранилища данных Fabric.
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Вариант 2. Создание проекта базы данных из расширения "Проекты баз данных"
В Visual Studio Code щелкните значок расширения "Проекты баз данных " на панели действий.
В области "Проекты баз данных" выберите "Создать".
Выберите тип проекта базы данных в качестве базы данных SQL Server.
Выберите имя проекта и выберите расположение локальной папки.
Выберите Хранилище данных Synapse в Microsoft Fabric в качестве целевой платформы.
При появлении запроса выберите Да (рекомендуется) для проекта в стиле SDK. Поддерживаются только проекты в стиле SDK для хранилища данных Fabric.
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Вариант 3. Создание проекта базы данных из существующего хранилища
Сначала создайте новый профиль подключения для хранилища в Visual Studio Code.
- Выберите расширение SQL Server в Visual Studio Code на панели действий.
- Укажите имя профиля. Выберите параметры.
- Укажите имя сервера. На портале Fabric в параметрах вашего хранилища извлеките строку "SQL Endpoint". (Это отличается от конечной точки аналитики SQL.) Выглядит как
<server unique ID>.datawarehouse.fabric.microsoft.com. Это имя сервера. - Для типа проверки подлинности используйте идентификатор Microsoft Entra — универсальный с поддержкой MFA. Проверка подлинности с помощью идентификатора Microsoft Entra.
- Укажите другие сведения по умолчанию или выберите "Подключить".
В Visual Studio Code щелкните значок расширения "Проекты баз данных " на панели действий.
Нажмите кнопку
..."Параметры" в области "Проекты базы данных " и выберите пункт "Создать проект из базы данных ".
Выберите хранилище из существующих профилей подключений.
Укажите имя проекта и выберите папку проекта на рабочей станции.
Для структуры папок выберите тип схемы или объекта (рекомендуется).
Чтобы включить разрешения в проект, выберите "Нет " (по умолчанию).
Для проекта в стиле ПАКЕТА SDK выберите "Да" (рекомендуется).
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Visual Studio Code извлекает файлы проекта из репозитория проекта.
После успешного извлечения вы увидите следующее уведомление: "Извлечение файлов проекта: выполнено успешно. Завершено".
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Новый проект базы данных для хранилища
Новый проект базы данных для хранилища отображается в меню "Проекты баз данных SQL".
Структура проекта выглядит следующим образом:
| Project Name
├── Database References
├── SQLCMD Variables
├── .vscode/
└── schema/
├── Functions
├── Tables
└── Views
Настройка проекта базы данных
Щелкните проект правой кнопкой мыши и выберите Изменить SQLPROJ-файл.
Убедитесь, что в файле находится последняя версия пакета SDK Microsoft.Build.Sql . Например, в файле
.sqlprojизмените версию дляMicrosoft.Build.Sqlна2.0.0.<Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />Проверьте последнюю версию Microsoft.SqlServer.Dacpacs.FabricDw и добавьте ссылку на
Project/ItemGroupузел XML. Рассмотрим пример.<PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />Это то, как проект базы данных для хранилища должен выглядеть следующим образом после обновлений.
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build"> <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" /> <PropertyGroup> <Name>DatabaseProject715wh</Name> <ProjectGuid>{2E278BCC-F118-4DDB-9255-94697F2930B4}</ProjectGuid> <DSP>Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider</DSP> <ModelCollation>1033, CI</ModelCollation> </PropertyGroup> <ItemGroup> <None Include=".vscode\tasks.json" /> <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" /> </ItemGroup> <Target Name="BeforeBuild"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" /> </Target> </Project>Сохраните
.sqlprojфайл. В запросе на перезагрузку проекта базы данных нажмите кнопку "Да".
Это важно
Команда хранилища данных Fabric часто выпускает новые версии пакетов NuGet. Так как значения версий по умолчанию в .sqlproj файле могут меняться с течением времени, обязательно обновите их в локальном проекте, чтобы оставаться в соответствии с последними версиями, доступными в NuGet для Microsoft.SqlServer.Dacpacs.FabricDw.
Добавление или обновление объектов базы данных
Можно определить или изменить объекты базы данных, такие как таблицы, представления, хранимые процедуры и функции в проекте хранилища.
В папке схемы, например dbo, добавьте или удалите или внесите изменения в определения объектов T-SQL в хранилище. Чтобы изменить существующий объект, откройте соответствующий .sql файл и обновите определение по мере необходимости.
При сборке проекта все новые и обновленные объекты проверяются и включаются в сгенерированный файл формата DACPAC в файле {project folder location}/bin/debug/{project name}.dacpac.
Изменения, внесенные здесь, относятся только к проекту базы данных и не отражаются в Microsoft Fabric, пока вы не создадите и опубликуете проект.
Создание и проверка проекта
Откройте проект базы данных, если он еще не открыт.
Щелкните по проекту правой кнопкой мыши и выберите Сборка, чтобы создать проект базы данных.
Сборка должна быть успешной. Исправьте все ошибки на основе сообщений, предоставленных в выходных данных события сборки.
Замечание
В настоящее время, терминал по умолчанию Visual Studio Code должен быть PowerShell для успешного выполнения процесса сборки в расширении "Проекты баз данных". В палитре команд выберите терминал: выберите профиль по умолчанию, а затем выберите PowerShell.
Публикация в хранилище данных Fabric
После создания проекта опубликуйте его в целевом хранилище. Публикация создает скрипт для устранения разницы между проектом базы данных и фактическим хранилищем и выполняет скрипт, чтобы хранилище соответствовало проекту. Скомпилированную модель схемы хранилища в DACPAC-файле можно развернуть в целевом хранилище.
Щелкните проект правой кнопкой мыши и выберите "Опубликовать".
Выберите "Опубликовать" на существующем сервере SQL Server.
Чтобы выбрать профиль публикации, который будет загружен, при первой публикации выберите «Не использовать профиль».
- Параметры публикации хранилища можно сохранить в профиле публикации. После завершения вам будет предложено в уведомлении Visual Studio Code сохранить параметры публикации, которые вы только что использовали, в файл профиля публикации.
- Вы можете повторно использовать профиль публикации в будущем при публикации проекта в хранилище. У вас могут быть различные параметры профиля для разных хранилищ или для разных сред разработки, тестирования и принятия или рабочей среды разработки.
Выберите профиль подключения хранилища данных Fabric из списка.
Выберите имя целевого хранилища.
В окне "Выбор действия " можно либо создать скрипт , чтобы просмотреть скрипт перед публикацией, либо опубликовать проект в хранилище.
- При первом развертывании изменений необходимо тщательно создать скрипт и просмотреть результирующий T-SQL для применения к целевому хранилищу. Изменения в целевом хранилище не вносятся.
- При выборе "Опубликовать" изменения будут записаны в целевое хранилище.
В уведомлении вы хотите сохранить параметры в профиле (.publish.xml)?, нажмите кнопку "Да " и сохраните варианты профиля публикации при следующей публикации.
Важные параметры развертывания для проектов хранилища
При развертывании проектов базы данных в хранилище данных Fabric несколько параметров управляют изменениями схемы и могут повлиять на безопасность данных. Используйте с осторожностью.
BlockOnPossibleDataLoss- Что это делает: Предотвращает развертывание, если существует риск потери данных (например, удаление столбца или таблицы, содержащей данные).
-
Рекомендация: Всегда устанавливайте
Trueзначение в рабочей среде для защиты критически важных данных. -
Осторожность: Установка
Falseпозволяет развертывание даже при потере данных. Используйте только в управляемых средах (например, dev/test).
DropObjectsNotInSource- Что это делает: Удаляет объекты в целевой базе данных, отсутствующей в источнике проекта.
- Рекомендация: Используйте в средах разработки и тестирования для очистки оставшихся объектов.
-
Осторожность: Использование
DropObjectsNotInSourceв рабочей среде может удалять важные объекты и данные. Перед включением дважды проверьте.
Pre-Deployment Scripts- Что это делает: Выполняет пользовательские скрипты SQL перед развертыванием схемы.
-
Распространенные варианты использования:
- Архивация или резервное копирование данных перед удалением таблиц
- Временно отключить ограничения или триггеры
- Очистка устаревших объектов
- Предупреждение: Убедитесь, что скрипты идемпотентны и не вводят изменения схемы, конфликтующие с развертыванием.
Подсказка
Если процесс развертывания идемпотентен, его можно запускать многократно без возникновения проблем, а также развертывать в нескольких базах данных без необходимости предварительного определения их состояния.
Post-Deployment Scripts- Что это делает: Выполняет пользовательские скрипты SQL после развертывания схемы.
-
Распространенные варианты использования:
- Исходные данные поиска или справочные данные
- Повторное включение ограничений или триггеров
- История развертывания журнала
- Осторожность: Избегайте тяжелых операций в больших таблицах в рабочей среде; Убедитесь, что скрипты могут безопасно выполняться несколько раз при необходимости.
Это важно
Перед публикацией всегда просматривайте сценарии развертывания и параметры. Сначала протестируйте в средах разработки и тестирования, чтобы предотвратить непреднамеренные потери данных.
Подтверждение публикации
Подключитесь к вашему хранилищу и к скриптовым объектам, которые были изменены, или проверьте изменения, выполнив соответствующие команды объектов системного каталога.
Связанные статьи
- Рабочие процессы разработки и развертывания
- Разработка и развертывание зависимостей между хранилищами
- Начните работу с конвейерами развертывания Fabric