Sdílet prostřednictvím


SqlPackage pro databázi SQL v Microsoft Fabric

Platí pro:SQL Database v Microsoft Fabric

V tomto kurzu se naučíte pracovat s SqlPackage ve vaší databázi SQL v prostředcích infrastruktury.

SqlPackage je rozhraní příkazového řádku poskytující přenositelnost databáze a nasazení databází.

  • Přenositelnost (import/export) databáze spravované v Azure nebo v prostředcích infrastruktury zajišťuje, že se vaše data budou přenášet na jiné platformy, včetně SQL Serveru nebo azure SQL Managed Instance, pokud budete chtít migrovat později.
  • Stejná přenositelnost také umožňuje určité scénáře migrace prostřednictvím samostatných kopií databáze (.bacpac) s operacemi importu a exportu.

SqlPackage také umožňuje snadné nasazení databází přírůstkových změn databázových objektů (nové sloupce v tabulkách, změny stávajících uložených procedur atd.).

  • SqlPackage může extrahovat .dacpac soubor obsahující definice objektů v databázi a publikovat .dacpac soubor, který použije tento stav objektu na novou nebo existující databázi.
  • Operace publikování se také integruje s projekty SQL, které umožňují offline a dynamičtější vývojové cykly pro databáze SQL.

Požadavky

Nastavení

SqlPackage je k dispozici pro Windows, macOS a Linux jako nástroj dotnet. Můžete ho nainstalovat pomocí následujícího příkazu:

dotnet tool install --global Microsoft.SqlPackage

Jako globální nástroj dotnet je SqlPackage dostupný v terminálu jako sqlpackage z libovolné složky.

Import databáze pomocí sqlPackage

A .bacpac je přenosná kopie databáze, užitečná pro některé scénáře migrace a testování. Můžete ho importovat.bacpac do prázdné databáze SQL.

Poznámka:

A .bacpac není záloha ani náhrada možností zálohování a obnovení. Další informace o zálohách v databázi SQL Fabric naleznete v tématu Automatické zálohování v databázi SQL v Microsoft Fabric a obnovení ze zálohy v databázi SQL v Microsoft Fabric.

  1. Pokud používáte .bacpac prostředí Azure SQL Database, možná budete muset zdrojovou databázi změnit tak, aby splňovala oblast T-SQL databáze Fabric.

  2. Pomocí rozhraní Fabric vytvořte novou databázi SQL v prostředcích infrastruktury jako obvykle.

  3. Zkopírujte připojovací řetězec z nastavení.

    Snímek obrazovky z portálu Fabric zobrazující stránku Připojovací řetězce databáze SQL

  4. Použijte příkaz importu z terminálu ve složce sqlpackage. Zadejte svého vlastníka <servername> a <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Nahraďte připojovací řetězec v dialogovém okně nastavení databáze SQL.
    • sourcefile Nahraďte hodnotu .bacpac názvem (DatabaseName) a location na místním počítači.

Další informace o importu naleznete v tématu SqlPackage import.

Export databáze pomocí SqlPackage

Exportem .bacpac je zpětná operace, kde je targetfile vaše .bacpac hodnota a můžete sourceconnectionstring ji najít v dialogovém okně nastavení databáze SQL, jako v předchozím příkladu. Zadejte svého vlastníka <servername> a <database_name>. Příklad:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Další informace o exportu naleznete v tématu SqlPackage export.

Extrakce a publikování

Diagram toho, jak můžou projekty databáze SQL přesouvat změny schématu

A .dacpac je soubor modelu schématu databáze, který obsahuje definice pro tabulky, uložené procedury a další objekty ve zdrojové databázi. Tento soubor lze vytvořit z existující databáze pomocí sqlPackage nebo z projektu databáze SQL.

SqlPackage dokáže nasadit novou (prázdnou .dacpac ) databázi nebo přírůstkově aktualizovat existující databázi tak, aby odpovídala požadovanému .dacpac stavu.

  • Extrahování vytvoří .dacpac nebo z existující databáze soubory SQL.
  • Publikování nasadí .dacpac databázi.

Syntaxe příkazů SqlPackage publish a extract je podobná příkazům importu a exportu.

Varování

Použití SqlPackage k nasazení projektu SQL nebo .dacpac do databáze SQL ve Fabric se doporučuje. Nasazení .dacpac ze sady Visual Studio může být neúspěšné.

Pokud chcete nasadit .dacpac, které bylo vytvořeno z databáze Azure SQL Database, SQL Serveru nebo z SQL projektu zaměřeného na jinou platformu než je SQL databáze v systému Fabric, připojte vlastnost /p:AllowIncompatiblePlatform=true k příkazu pro publikování SqlPackage.