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, vytvoříte a ověříte projekt a publikujete ho ve svém skladu.

Důležité

Tato funkce je ve verzi Preview.

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

Můžete vytvořit databázový projekt od nuly nebo z 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. V portálu Fabric, v nastavení vašeho skladu, vyberte SQL připojovací řetězec a zkopírujte poskytnutý string. Tento řetězec je název serveru vašeho skladu a liší se od SQL analytics endpointu. 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žadovanou a vyberte Spojit se.
  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 vyberte složku projektu na své 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 rozbalení uvidíte následující oznámení: „Rozbalení projektových souborů: Úspěšně dokončeno.“ 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, že soubor obsahuje nejnovější verzi Microsoftu. Build.SQL SDK. Například změňte verzi pro Microsoft.Build.Sql na 2.3.0 v souboru .sqlproj.

       <Sdk Name="Microsoft.Build.Sql" Version="2.3.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.4">
           <DatabaseVariableLiteralValue>master</DatabaseVariableLiteralValue>
           <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors>
       </PackageReference>
    

    Důležité

    Pokud přidáte odkaz na balíček bez DatabaseVariableLiteralValue metadat, sestavení projektu uspěje, ale sqlpackage akce Publish and Script mohou selhat, jakmile váš kód odkazuje na objekty ve schématusys, například sys.views. V takovém případě vidíte chyby jako tyto:

    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.

    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.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>
    
  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. Protože výchozí verze v .sqlproj souboru se mohou v průběhu času měnit, aktualizujte je ve svém lokálním projektu, aby zůstaly zarovnané s nejnovějšími verzemi dostupnými od 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ě není otevřený.

  2. Klikněte pravým tlačítkem na projekt a vyberte Build pro vytvoření databázového projektu.

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

  3. Sestavení by mělo proběhnout úspěšně. Opravte chyby založené na hlášeních ve výstupu build eventu.

Poznámka:

V současnosti musí být ve Visual Studio Code jako výchozí terminál nastavený PowerShell, aby proces sestavení v rozšíření Database Projects proběhl úspěšně. V Příkazové paletě vyberte Terminál: Vyberte Výchozí profil a poté zvolte 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. Můžete nasadit zkompilovaný model schématu skladu v .dacpac souboru 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.

    • Uložte si možnosti publikování skladu do profilu pro publikování. Oznámení Visual Studio Code vám dá možnost uložit použité možnosti publikování do souboru s profilem publikace.
    • Profil publikace použijte znovu v budoucnu, až budete publikovat svůj projekt do své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. - Poprvé, když chcete nasazovat změny, pečlivě vygenerujte skript a zkontrolujte výsledný T-SQL pro aplikaci do cílového skladu. Generování skriptu nemění cílový sklad.

    • Pokud zvolíte Publikovat, proces zapíše změ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

Když nasazujete databázové projekty na Fabric Data Warehouse, několik nastavení ovlivňuje 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

    • Funkce
      • Před nasazením schématu spustí vlastní SQL skripty.
    • 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ů
    • Upozornění
      • Ujistěte se, že skripty jsou idempotentní a nezavádějí změny schématu, které by kolidovaly s nasazením.

Tip

Když je proces nasazení nebo dotaz idempotentní, můžete příkaz spustit vícekrát, aniž by došlo k logickým problémům nebo selháním. Příkaz idempotentu je také napsán tak, aby mohl být nasazen do více databází bez nutnosti předem určovat jejich stav.

  • PostDeploy pro skript spuštěný 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
    • Pozor: Vyhněte se náročným operacím na velkých stolech při výrobě. Ujistěte se, že skripty mohou bezpečně běžet vícekrát, pokud je to potřeba.

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. Další informace a příklady najdete v tématu Předpřipravení a po nasazení skriptů pro Fabric Data Warehouse.

Ověřte publikování

Připojte se ke svému skladu a skriptujte objekty, které se změnily, nebo ověřte spuštěním systémových katalogových objektů.