Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 zajistí, že vaše data budou přenosná na jiné platformy, pokud budete chtít později migrovat. – Přenositelnost zahrnuje přesun do a z SQL Serveru, Azure SQL Database, Azure SQL Managed Instance a SQL databáze ve Fabric prostřednictvím samostatných kopií databáze (
.bacpacsoubory nebo.dacpacsoubory).
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
.dacpacsoubor obsahující definice objektů v databázi a publikovat.dacpacsoubor, 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
- Potřebujete existující kapacitu Fabric. Pokud ne, spusťte zkušební verzi Fabric.
- Vytvořte nový pracovní prostor nebo použijte existující pracovní prostor Fabric.
- Vytvořte nebo použijte existující databázi SQL v prostředcích infrastruktury. Pokud ji ještě nemáte, vytvořte novou databázi SQL v prostředcích infrastruktury.
- Nainstalujte sadu .NET 8 SDK.
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 .bacpac do prázdné databáze SQL pomocí importu SqlPackage.
Poznámka:
.bacpac není záloha ani náhrada za funkce zálohování a obnovení. Další informace o zálohách pro databázi SQL v Microsoft Fabric najdete 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.
Pokud používáte
.bacpacz prostředí Azure nebo SQL Serveru, možná budete muset upravit zdrojovou databázi tak, aby splňovala požadavky SQL databáze v oblasti T-SQL pro Fabric. Viz extrakce a publikování přenositelnosti pro alternativní metodu, která umožňuje vlastnostem SqlPackage vynechat některé nepodporované objekty.Pomocí rozhraní Fabric vytvořte novou databázi SQL v prostředcích infrastruktury jako obvykle.
Zkopírujte připojovací řetězec z nastavení.
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.
-
sourcefileNahraďte hodnotu.bacpacnázvem (DatabaseName) alocationna místním počítači.
Postupujte podle importu s úlohou kopírování ve službě Data Factory v Microsoft Fabric. Pokud chcete začít, přečtěte si článek Rychlý start: Vytvoření úlohy kopírování.
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 /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í
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ří
.dacpacnebo z existující databáze soubory SQL. -
Publikování nasadí
.dacpacdatabá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.
Extrakce a publikování přenositelnosti
Příkazy importu a exportu SqlPackage se zaměřují na přenositelnost dat ve .bacpac formátu, ale příkazy pro extrakci a publikování jsou schopné přenositelnosti dat s formátem .dacpac . Vlastnosti extrakce a publikování lze použít k řízení chování operací extrakce a publikování a zajištění větší flexibility pro převody mezi platformami.
K extrakci.dacpac a zahrnutí dat použijte /p:ExtractAllTableData=true vlastnost. Operace extrakce vytvoří .dacpac, který obsahuje jak schéma, tak data ze zdrojové databáze. Tato vlastnost /p:ExtractReferencedServerScopedElements=false vylučuje elementy s rozsahem serveru, které nejsou podporovány v SQL databázi ve Fabric. Následující příkaz extrahuje .dacpac z existující databáze SQL v prostředí Fabric:
sqlpackage /action:extract /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" /targetfile:"C:\extracted.dacpac" /p:ExtractAllTableData=true /p:ExtractReferencedServerScopedElements=false
K publikování položky, která byla extrahována spolu s daty, se nevyžadují žádné další vlastnosti. K řízení chování operace publikování je však možné použít několik vlastností:
-
/p:AllowIncompatiblePlatform=trueumožňuje nasazení extrahovaného.dacpacz jiné platformy (například Azure SQL Database, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersvyloučí typy objektů, které mohou mít problémy s kompatibilitou při publikování do SQL databáze v prostředí Fabric. Úplný seznam typů objektů, které lze vyloučit, naleznete v tématu SqlPackage publish.
Podobně jako příkaz importu SqlPackage, před publikováním .dacpac do SQL databáze ve Fabricu je potřeba vytvořit tuto databázi ve Fabricu. Databázi můžete vytvořit prostřednictvím portálu Fabric nebo jiného rozhraní Fabric. Následující příkaz publikuje extrahovaný .dacpac do prázdné databáze SQL v platformě Fabric:
sqlpackage /action:publish /sourcefile:"C:\extracted.dacpac" /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" /p:AllowIncompatiblePlatform=true /p:ExcludeObjectTypes=Logins;Users