Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:✅ Warehouse в Microsoft Fabric
Узнайте, как настроить проект базы данных для Data Warehouse Fabric в Visual Studio Code. Вы создаёте новый проект, определяете объекты схемы, строите и проверяете проект, а затем публикуете его на складе.
Это важно
Эта функция доступна в предварительной версии.
Предпосылки
Прежде чем начать, убедитесь, что вы:
- Имеете доступ к существующему элементу хранилища в рабочей области Fabric, с разрешениями участника или более высокого уровня.
- Для создания нового образца хранилища см. раздел Создайте пример хранилища в Microsoft Fabric.
- Установите Visual Studio Code на рабочей станции.
- Установите пакет SDK .NET для создания и публикации проектов базы данных.
- Установите два расширения Visual Studio Code: SQL Database Projects и 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).Поиск проектов базы данных: новые.
Выберите тип проекта Database как SQL Server Database.
Выберите имя проекта и выберите расположение локальной папки.
Выберите Synapse Data Warehouse в Microsoft Fabric в качестве целевой платформы.
При появлении запроса выберите Да (рекомендуется) для проекта в стиле SDK.
Это важно
Поддерживаются только проекты в стиле SDK, совместимые с Fabric Data Warehouse.
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Вариант 2. Создание проекта базы данных из расширения "Проекты баз данных"
В Visual Studio Code выберите значок расширения Database Projects в Activity Bar.
В области "Проекты баз данных" выберите "Создать".
Выберите тип проекта Database как SQL Server Database.
Выберите имя проекта и выберите расположение локальной папки.
Выберите Synapse Data Warehouse в Microsoft Fabric в качестве целевой платформы.
При появлении запроса выберите Да (рекомендуется) для проекта в стиле SDK. Поддерживаются только проекты в стиле SDK, совместимые с Fabric Data Warehouse.
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Вариант 3. Создание проекта базы данных из существующего хранилища
Сначала создайте новый профиль подключения для хранилища в Visual Studio Code.
- Выберите расширение SQL Server в Visual Studio Code на панели активности.
- Укажите имя профиля. Выберите параметры.
- Введите имя сервера. В портале Fabric, в настройках вашего склада, выберите SQL строка подключения и скопируйте предоставленную строку. Эта строка содержит имя сервера вашего хранилища и отличается от конечной точки SQL-аналитики. Оно выглядит следующим образом:
<server unique ID>.datawarehouse.fabric.microsoft.com. - Для типа Authentication используйте Microsoft Entra ID — универсальную с поддержкой MFA. Проверка подлинности с помощью Microsoft Entra ID.
- Предоставьте другую информацию по умолчанию и выберите Connect.
В Visual Studio Code выберите значок расширения Database Projects на панели действий.
Нажмите кнопку
..."Параметры" в области "Проекты базы данных " и выберите пункт "Создать проект из базы данных ".
Выберите хранилище из существующих профилей подключений.
Введите имя проекта и выберите папку проекта на рабочем месте.
Для структуры папок выберите тип схемы или объекта (рекомендуется).
Чтобы включить разрешения в проект, выберите "Нет " (по умолчанию).
Для проекта в стиле ПАКЕТА SDK выберите "Да" (рекомендуется).
Выберите Да в ответ на вопрос Хотите настроить сборку проекта SQL как конфигурацию сборки по умолчанию для этой папки?
Visual Studio Code извлекает файлы проекта из хранилища.
После успешного извлечения вы видите следующее уведомление: «Извлечь файлы проекта: успешно выполнено. Завершено".
Выберите "Да", чтобы доверять авторам файлов в этой папке.
Новый проект базы данных для хранилища
Новый проект базы данных для хранилища отображается в меню "Проекты баз данных SQL".
Структура проекта выглядит следующим образом:
| Project Name
├── Database References
├── SQLCMD Variables
├── .vscode/
└── schema/
├── Functions
├── Tables
└── Views
Настройка проекта базы данных
Щелкните проект правой кнопкой мыши и выберите Изменить SQLPROJ-файл.
Проверьте, что файл содержит последнюю версию Microsoft. Build.SQL SDK. Например, измените версию для
Microsoft.Build.Sqlна2.3.0в файле.sqlproj.<Sdk Name="Microsoft.Build.Sql" Version="2.3.0" />Проверьте последнюю версию Microsoft.SqlServer.Dacpacs.FabricDw и добавьте ссылку на
Project/ItemGroupузел XML. Рассмотрим пример.<PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.4"> <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue> <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> </PackageReference>Это важно
Если вы добавите ссылку на пакет без
DatabaseVariableLiteralValueметаданных, сборка проекта успешна, ноsqlpackageдействия Publish и Script могут не сработать, как только ваш код ссылается на объекты вsysсхеме, такиеsys.viewsкак . В таком случае вы видите такие ошибки, как следующие:Error SQL72033: This deployment may encounter errors during execution because [<schema>].[<procedure>] depends on [sys].[views].[schema_id] and [sys].[views].[schema_id] does not exist in the target database.Это то, как проект базы данных для хранилища должен выглядеть следующим образом после обновлений.
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build"> <Sdk Name="Microsoft.Build.Sql" Version="2.3.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.4"> <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue> <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> </PackageReference> </ItemGroup> <Target Name="BeforeBuild"> <Delete Files="$(BaseIntermediateOutputPath)\project.assets.json" /> </Target> </Project>Сохраните
.sqlprojфайл. В запросе на перезагрузку проекта базы данных нажмите кнопку "Да".
Это важно
Команда Data Warehouse Fabric часто выпускает новые версии пакетов NuGet. Поскольку значения версии по умолчанию в .sqlproj файле могут меняться со временем, обновите их в вашем локальном проекте, чтобы они оставались в соответствии с последними версиями, доступными от NuGet for Microsoft. SqlServer.Dacpacs.FabricDw.
Добавление или обновление объектов базы данных
Можно определить или изменить объекты базы данных, такие как таблицы, представления, хранимые процедуры и функции в проекте хранилища.
В папке схемы, например dbo, добавьте или удалите или внесите изменения в определения объектов T-SQL в хранилище. Чтобы изменить существующий объект, откройте соответствующий .sql файл и обновите определение по мере необходимости.
При сборке проекта все новые и обновленные объекты проверяются и включаются в сгенерированный файл формата DACPAC в файле {project folder location}/bin/debug/{project name}.dacpac.
Изменения, внесенные здесь, относятся только к проекту базы данных и не отражаются в Microsoft Fabric, пока не выполните Сборку и Публикацию вашего проекта.
Создание и проверка проекта
Откройте проект базы данных, если он ещё не открыт.
Кликните правой кнопкой мыши по проекту и выберите Build , чтобы построить проект базы данных.
Сборка должна завершиться успешно. Исправьте ошибки в соответствии с сообщениями, приведенными в выводе события сборки.
Замечание
В настоящее время ваш терминал по умолчанию Visual Studio Code должен быть PowerShell, чтобы процесс сборки в расширении Database Projects был успешным. В палитре команд выберите Terminal: выберите профиль по умолчанию, затем выберите PowerShell.
Публикация в Fabric Data Warehouse
После создания проекта опубликуйте его в целевом хранилище. Публикация создает скрипт для устранения разницы между проектом базы данных и фактическим хранилищем и выполняет скрипт, чтобы хранилище соответствовало проекту. Вы можете развернуть скомпилированную модель схемы склада в файле .dacpac в целевом хранилище.
Щелкните проект правой кнопкой мыши и выберите "Опубликовать".
Выберите "Опубликовать" на существующем сервере SQL Server.
Чтобы выбрать профиль публикации, который будет загружен, при первой публикации выберите «Не использовать профиль».
- Сохраняйте опции публикации вашего склада в профиль публикации. Уведомление Visual Studio Code даёт возможность сохранить использованные опции публикации в файл профиля публикации.
- В дальнейшем используйте этот профиль публикации, когда будете публиковать проект в хранилище. У вас могут быть различные параметры профиля для разных хранилищ или для разных сред разработки, тестирования и принятия или рабочей среды разработки.
Выберите профиль подключения Data Warehouse Fabric из списка.
Выберите имя целевого хранилища.
В окне "Выбор действия " можно либо создать скрипт , чтобы просмотреть скрипт перед публикацией, либо опубликовать проект в хранилище. - В первый раз, когда вы хотите развернуть изменения, аккуратно генерируйте скрипт и проверьте полученный T-SQL для применения в целевом хранилище. Генерация скрипта не меняет целевой склад.
- Если вы выберете Опубликовать, процесс запишет изменения в ваше целевое хранилище данных.
В уведомлении вы хотите сохранить параметры в профиле (.publish.xml)?, нажмите кнопку "Да " и сохраните варианты профиля публикации при следующей публикации.
Важные параметры развертывания для проектов хранилища
При развертывании проектов баз данных на Fabric Data Warehouse несколько настроек контролируют изменения схемы и могут влиять на безопасность данных. Используйте с осторожностью.
BlockOnPossibleDataLoss- Что это делает: Предотвращает развертывание, если существует риск потери данных (например, удаление столбца или таблицы, содержащей данные).
-
Рекомендация: Всегда устанавливайте
Trueзначение в рабочей среде для защиты критически важных данных. -
Осторожность: Установка
Falseпозволяет развертывание даже при потере данных. Используйте только в управляемых средах (например, dev/test).
DropObjectsNotInSource- Что это делает: Удаляет объекты в целевой базе данных, отсутствующей в источнике проекта.
- Рекомендация: Используйте в средах разработки и тестирования для очистки оставшихся объектов.
-
Осторожность: Использование
DropObjectsNotInSourceв рабочей среде может удалять важные объекты и данные. Перед включением дважды проверьте.
PreDeployдля скрипта предварительного развертывания-
Действие
- Выполняет пользовательские SQL-скрипты до развертывания схемы.
-
Распространённые применения
- Архивация или резервное копирование данных перед удалением таблиц
- Временно отключить ограничения или триггеры
- Очистка устаревших объектов
-
Внимание
- Убедитесь, что скрипты идемпотентны и не вносят изменения в схему, которые конфликтуют с процессом развертывания.
-
Действие
Tip
Когда процесс развертывания или запрос идемпотентен, команду можно выполнять многократно, не вызывая логических ошибок или сбоев. Идемпотентная команда также написана так, чтобы её можно было развернуть в нескольких базах данных без необходимости предварительного определения их статуса.
PostDeployдля постразверточного скрипта- Что это делает: Выполняет пользовательские скрипты SQL после развертывания схемы.
-
Распространенные варианты использования:
- Исходные данные поиска или справочные данные
- Повторное включение ограничений или триггеров
- История развертывания журнала
- Внимание: Избегайте ресурсоёмких операций над большими таблицами в рабочей среде. Убедитесь, что скрипты могут безопасно запускаться несколько раз при необходимости.
Это важно
Перед публикацией всегда просматривайте сценарии развертывания и параметры. Сначала протестируйте в средах разработки или тестирования, чтобы предотвратить непреднамеренные потери данных. Дополнительные сведения и примеры см. в сценариях предварительного развертывания и после развертывания для Fabric Data Warehouse.
Подтверждение публикации
Подключитесь к вашему складу и скриптуйте изменённые объекты или проверяйте, запуская объекты системного каталога.
Связанные материалы
- Рабочие процессы разработки и развертывания
- Разработка и развертывание зависимостей между хранилищами
- Начните работу с конвейерами развертывания Fabric