Vývoj projektů skladu v Visual Studio Code

Platí pro:✅ Warehouse v Microsoft Fabric

Zjistěte, jak v Visual Studio Code nastavit databázový projekt pro Data Warehouse Fabric. Vytvoříte nový projekt, definujete objekty schématu, sestavíte a ověříte projekt a publikujete ho do skladu.

Požadavky

Než začnete, ujistěte se, že:

  • Mít přístup k existující položce skladu v pracovním prostoru Fabric s oprávněními Přispěvatel nebo vyšší.
  • Nainstalujte na pracovní stanici Visual Studio Code.
  • Nainstalujte sadu SDK .NET pro sestavování a publikování databázových projektů.
  • Nainstalujte dvě rozšíření Visual Studio Code: SQL Database Projects a SQL Server (mssql).
    • Požadovaná rozšíření můžete nainstalovat přímo z webu Visual Studio Code marketplace tak, že vyhledáte "projekty služby SQL Database" nebo "SQL Server (mssql)".

Vytvoření nového databázového projektu

Databázový projekt můžete vytvořit úplně od začátku nebo existujícího skladu.

Možnost 1: Vytvoření nového databázového projektu z palety příkazů v Visual Studio Code

  1. Otevřete Visual Studio Code.

  2. Otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P na Macu).

  3. Vyhledejte databázové projekty: Nové.

  4. Jako typ projektu Database vyberte SQL Server Database.

  5. Zvolte název projektu a vyberte umístění místní složky.

  6. Jako cílovou platformu zvolte Synapse Data Warehouse v Microsoft Fabric.

  7. Po zobrazení výzvy vyberte možnost Ano (doporučeno) pro projekt ve stylu sady SDK.

    Důležité

    Pro Fabric Data Warehouse se podporují pouze projekty ve stylu SDK.

  8. Chcete nakonfigurovat sestavení projektu SQL jako výchozí konfiguraci sestavení pro tuto složku, vyberte ano?

  9. Chcete-li autorům souborů v této složce důvěřovat, vyberte ano .

Možnost 2: Vytvoření nového databázového projektu z rozšíření Databázové projekty

  1. V Visual Studio Code zvolte ikonu rozšíření Database Projects na panelu Activity Bar.

  2. V podokně Databázové projekty vyberte Vytvořit nový.

    Screenshot z Visual Studio Code zobrazující podokno rozšíření Databázové projekty a tlačítko Vytvořit nový button.

  3. Jako typ projektu Database vyberte SQL Server Database.

  4. Zvolte název projektu a vyberte umístění místní složky.

  5. Jako cílovou platformu zvolte Synapse Data Warehouse v Microsoft Fabric.

  6. Po zobrazení výzvy vyberte možnost Ano (doporučeno) pro projekt ve stylu sady SDK. Pro Fabric Data Warehouse se podporují pouze projekty ve stylu SDK.

  7. Chcete nakonfigurovat sestavení projektu SQL jako výchozí konfiguraci sestavení pro tuto složku, vyberte ano?

  8. Chcete-li autorům souborů v této složce důvěřovat, vyberte ano .

Možnost 3: Vytvoření databázového projektu z existujícího skladu

  1. Nejprve vytvořte nový profil připojení pro váš sklad v Visual Studio Code.

    1. V Visual Studio Code vyberte rozšíření SQL Server na panelu Activity Bar.
    2. Zadejte název profilu. Zvolte Parametry.
    3. Zadejte název serveru. Na portálu Fabric v nastavení vašeho skladu vyberte koncový bod SQL a zkopírujte zadaný řetězec. Toto je název serveru vašeho skladu a liší se od koncového bodu analýzy SQL. Vypadá takto: <server unique ID>.datawarehouse.fabric.microsoft.com.
    4. Pro typ Authentication použijte Microsoft Entra ID – Univerzální s podporou vícefaktorového ověřování. Ověřte se pomocí svého Microsoft Entra ID.
    5. Zadejte další informace jako výchozí nebo požadované a vyberte Připojit.
  2. Ve Visual Studio Code zvolte ikonu rozšíření Database Projects na panelu aktivit.

  3. V podokně ... vyberte tlačítko Možnosti a zvolte Možnost Vytvořit projekt z databáze.

    Screenshot z Visual Studio Code zobrazující možnost Vytvořit projekt z databáze.

  4. Vyberte svůj sklad z existujících profilů připojení.

  5. Zadejte název projektu a zvolte složku projektu na pracovní stanici.

  6. Pro strukturu složek vyberte Typ schématu nebo objektu (doporučeno).

  7. V části Zahrnout oprávnění do projektu vyberte Ne (výchozí).

  8. V případě projektu ve stylu sady SDK vyberte Ano (doporučeno).

  9. Chcete nakonfigurovat sestavení projektu SQL jako výchozí konfiguraci sestavení pro tuto složku, vyberte ano?

  10. Visual Studio Code extrahuje soubory projektu z úložiště projektu.

    Screenshot z Visual Studio Code zobrazující oznámení o průběhu extrahování souborů projektu.

  11. Po úspěšném extrakci se zobrazí následující oznámení: Extrahování souborů projektu: Úspěšné. Dokončeno".

  12. Chcete-li autorům souborů v této složce důvěřovat, vyberte ano .

Nový databázový projekt pro váš sklad

Nový databázový projekt pro váš sklad se zobrazí v nabídce Projekty služby SQL Database.

Screenshot z Visual Studio Code zobrazující nový databázový projekt AdventureWorksDW2022.

Struktura projektu vypadá takto:

 | Project Name
 ├── Database References
 ├── SQLCMD Variables
 ├── .vscode/
 └── schema/
     ├── Functions
     ├── Tables
     └── Views

Konfigurace databázového projektu

  1. Klikněte pravým tlačítkem myši na projekt a vyberte Upravit soubor .sqlproj.

    Snímek obrazovky z Visual Studio Code a kontextové nabídky databázového projektu. Volba Upravit soubor sqlproj je zvýrazněná.

  2. Ověřte, zda je v souboru nejnovější verze Microsoft.Build.Sql SDK. Například v souboru .sqlproj změňte verzi pro Microsoft.Build.Sql na 2.0.0.

       <Sdk Name="Microsoft.Build.Sql" Version="2.0.0" />
    
  3. Ověřte nejnovější verzi Microsoft.SqlServer.Dacpacs.FabricDw a přidejte odkaz do Project/ItemGroup uzlu XML. Například:

       <PackageReference Include="Microsoft.SqlServer.Dacpacs.FabricDw" Version="170.0.2" />
    

    Takto by měl váš databázový projekt pro sklad vypadat po aktualizacích.

     <?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>
    
  4. Uložte .sqlproj soubor. Na příkazovém řádku pro opětovné načtení databázového projektu vyberte Ano.

Důležité

Tým fabric Data Warehouse často vydává nové verze balíčků NuGet. Vzhledem k tomu, že výchozí hodnoty verzí v .sqlproj souboru se můžou v průběhu času měnit, nezapomeňte je aktualizovat v místním projektu, aby zůstaly v souladu s nejnovějšími verzemi dostupnými z NuGetu pro Microsoft.SqlServer.Dacpacs.FabricDw.

Přidání nebo aktualizace databázových objektů

Můžete definovat nebo upravit databázové objekty, jako jsou tabulky, zobrazení, uložené procedury a funkce v rámci projektu skladu.

Ve složce schématu můžete například dbopřidat nebo odstranit nebo provést změny definic T-SQL objektů ve skladu. Pokud chcete upravit existující objekt, otevřete odpovídající .sql soubor a podle potřeby aktualizujte definici.

Při sestavování projektu se všechny nové a aktualizované objekty ověří a zahrnou do vygenerovaného souboru dacpac v {project folder location}/bin/debug/{project name}.dacpac souboru.

Změny provedené pouze v databázovém projektu se neprojeví v Microsoft Fabric, dokud svůj projekt nezkompilujete a nepublikujete.

Sestavení a ověření projektu

  1. Otevřete databázový projekt, pokud ještě nebyl otevřen.

  2. Klikněte pravým tlačítkem myši na projekt a vyberte Sestavit a sestavte projekt databáze.

    Snímek obrazovky z Visual Studio Code ukazující možnost Sestavit projekt databáze.

  3. Sestavení by mělo být úspěšné. Opravte všechny chyby na základě zpráv zadaných ve výstupu události sestavení.

Poznámka:

V současné době musí být výchozí terminál Visual Studio Code PowerShell, aby proces sestavení v rozšíření Databázové projekty proběhl úspěšně. Na paletě příkazů zvolte Terminál: Vyberte výchozí profil a pak vyberte PowerShell.

Publikování do skladiště dat Fabric

Po sestavení projektu ho nahrajte do cílového úložiště. Publikování vytvoří skript k vyřešení rozdílu mezi databázovým projektem a skutečným datovým úložištěm a spustí skript, který přizpůsobí datové úložiště projektu. Zkompilovaný model schématu skladu v souboru .dacpac lze nasadit do cílového skladu.

  1. Klikněte pravým tlačítkem myši na projekt a vyberte Publikovat.

  2. Zvolte Publikovat na existující server SQL.

  3. Pokud chcete vybrat profil publikování, který chcete načíst, zvolte při prvním publikování možnost Nepoužívat profil.

    • Možnosti publikování skladu můžete uložit do profilu publikování. Až budete hotovi, dostanete možnost v oznámení Visual Studio Code uložit možnosti publikování, které jste právě použili k souboru profilu publikování.
    • Publikační profil můžete v budoucnu znovu použít, když svůj projekt publikujete do datového skladu. Můžete mít různé možnosti profilu pro různé sklady nebo pro různá prostředí ve vývojových/testovacích/akceptačních/produkčních vývojových prostředích.
  4. V seznamu vyberte profil připojení Fabric Data Warehouse.

  5. Zvolte název cílového skladu.

  6. V možnosti Zvolit akci můžete buď vygenerovat skript a zkontrolovat skript před publikováním, nebo publikovat projekt do skladu.

    • Při prvním nasazení změn byste měli pečlivě vygenerovat skript a zkontrolovat výsledný T-SQL, který se použije v cílovém skladu. V cílovém skladu se neprovedou žádné změny.
    • Pokud zvolíte Publikovat, změny budou zapsány do vašeho cílového skladu.

    Screenshot z Visual Studio Code zobrazující oznámení: Probíhá nasazení dacpac.

  7. V oznámení Chcete uložit nastavení v profilu (.publish.xml)?, zvolte Ano a uložte volby profilu publikování pro příště, až budete muset publikovat.

Důležitá nastavení nasazení pro projekty skladu

Při nasazování databázových projektů do systému Fabric Data Warehouse několik nastavení kontroluje změny schématu a může ovlivnit bezpečnost dat. Používejte s opatrností.

  • BlockOnPossibleDataLoss

    • Co to dělá: Zabrání nasazení, pokud hrozí riziko ztráty dat (například vyřazení sloupce nebo tabulky obsahující data).
    • Doporučení: Pokud chcete chránit důležitá data, vždy nastavte True v produkčním prostředí.
    • Opatrnost: Nastavení na False umožňuje nasazení i když může dojít ke ztrátě dat. Používejte pouze v kontrolovaných prostředích (například vývoj/testování).
  • DropObjectsNotInSource

    • Co to dělá: Zahodí objekty v cílové databázi, které nejsou ve zdroji projektu.
    • Doporučení: Použití v vývojových/testovacích prostředích k vyčištění zbývajících objektů.
    • Opatrnost: Použití DropObjectsNotInSource v produkčním prostředí může odstranit důležité objekty a data. Před povolením pečlivě zkontrolujte.
  • Predeploy pro skript před nasazením

    • Co to dělá: Spustí vlastní skripty SQL před nasazením schématu.
    • Běžná použití:
      • Archivace nebo zálohování dat před vyřazením tabulek
      • Dočasné zakázání omezení nebo triggerů
      • Vyčištění starších objektů
    • Opatrnost: Ujistěte se, že skripty jsou idempotentní a nezavádějí změny schématu, které jsou v konfliktu s nasazením.

Návod

Pokud je proces nasazení idempotentní, může být spuštěn několikrát, aniž by způsoboval problémy, a můžete ho nasadit do více databází, aniž byste museli předem určit jejich stav.

  • Postdeploy pro skript po nasazení

    • Co to dělá: Spustí vlastní skripty SQL po nasazení schématu.
    • Běžná použití:
      • Počáteční vyhledávání nebo referenční data
      • Opětovné povolení omezení nebo triggerů
      • Historie nasazení protokolu
    • Opatrnost: Vyhněte se velkým operacím s velkými tabulkami v produkčním prostředí; zajistěte, aby skripty v případě potřeby mohly bezpečně spouštět vícekrát.

Důležité

Před publikováním vždy zkontrolujte skripty a nastavení nasazení. Nejprve otestujte vývojová nebo testovací prostředí, abyste zabránili neúmyslné ztrátě dat.

Ověřte publikování

Připojte se ke svému skladu a objektům skriptu, které byly změněny nebo ověřovány spuštěním objektů katalogu systému.