Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Vzťahuje sa na:✅databáza SQL v službe Microsoft Fabric
V tomto kurze sa naučíte pracovať s balíkom SqlPackage v databáze SQL v službe Fabric.
SqlPackage je CLI, ktoré poskytuje prenosnosť databázy a nasadenie databáz.
- Prenosnosť (import a export) databázy spravovanej v službe Azure alebo v službe Fabric zabezpečí, že vaše údaje budú prenosné na iné platformy, ktoré by ste mali chcieť migrovať neskôr.
- Prenosnosť zahŕňa pohyb medzi SQL Serverom, Azure SQL databázou, Azure SQL Managed Instance a SQL databázou vo Fabric prostredníctvom samostatných databázových kópií (
.bacpacalebo.dacpacsúborov).
- Prenosnosť zahŕňa pohyb medzi SQL Serverom, Azure SQL databázou, Azure SQL Managed Instance a SQL databázou vo Fabric prostredníctvom samostatných databázových kópií (
SqlPackage tiež môže umožniť jednoduché nasadenie databázových prírastkových zmien do databázových objektov (nové stĺpce v tabuľkách, zmeny existujúcich uložených procedúr atď.).
- SqlPackage môže extrahovať
.dacpacsúbor obsahujúci definície objektov v databáze a publikovať.dacpacsúbor, ktorý použije tento stav objektu na novú alebo existujúcu databázu. - Operácia publikovania sa tiež integruje s projektmi SQL, ktoré umožňujú offline a dynamickejšie vývojové cykly pre databázy SQL.
Požiadavky
- Potrebujete existujúcu kapacitu služby Fabric. Ak nie, spustite skúšobnú verziu služby Fabric.
- Vytvorte nový pracovný priestor alebo použite existujúci pracovný priestor služby Fabric.
- Vytvorenie alebo použitie existujúcej databázy SQL v službe Fabric. Ak ešte nemáte novú databázu SQL v službe Fabric, vytvorte ju.
- Nainštalujte súpravu .NET 8 SDK.
Inštalácia
SqlPackage je k dispozícii pre Windows, macOS a Linux ako nástroj dotnet. Môžete ju nainštalovať pomocou nasledujúceho príkazu:
dotnet tool install --global Microsoft.SqlPackage
Ako globálny nástroj dotnet je sqlPackage vo vašom termináli k dispozícii ako sqlpackage z ľubovoľného priečinka.
Importovanie databázy pomocou balíka SqlPackage
A .bacpac je prenosná kópia databázy, užitočná v prípade niektorých scenárov migrácie a testovania. Môžete to .bacpac do prázdnej databázy SQL pomocou importu SqlPackage.
Poznámka
A .bacpac nie je záloha ani náhrada pre možnosti zálohovania a obnovenia. Ďalšie informácie o zálohách pre databázu SQL v službe Fabric nájdete v téme Automatické zálohovanie v databáze SQL v službe Microsoft Fabric a obnovenie zo zálohy v databáze SQL v službe Microsoft Fabric.
Ak používate prostredie
.bacpaczo služby Azure alebo SQL Server, môže byť potrebné zmeniť zdrojovú databázu tak, aby spĺňala databázu SQL v oblasti povrchu T-SQL služby Fabric. Pozrite si časť extrahovanie a publikovanie prenosnosti pre alternatívnu metódu, ktorá vlastnosti SqlPackage umožňuje vynechať niektoré nepodporované objekty.Vytvorte novú databázu SQL v službe Fabric ako zvyčajne prostredníctvom rozhrania služby Fabric.
Skopírujte reťazec pripojenia z nastavení.
Použite príkaz importu z terminálu v priečinku sqlpackage. Zadajte svojho 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 reťazec pripojenia v dialógovom okne Nastavenia databázy SQL.
-
sourcefileNahraďte hodnotu názvom.bacpac(DatabaseName) alocationv lokálnom počítači.
Po importe použite úlohu kopírovania v službe Data Factory v službe Microsoft Fabric. Ak chcete začať, pozrite si tému Rýchly štart: Vytvorenie úlohy kopírovania.
Exportovanie databázy pomocou balíka SqlPackage
Exportovanie je reverzná .bacpac operácia, kde je targetfile vaša .bacpac a nájdete ju sourceconnectionstring v dialógovom okne Nastavenia databázy SQL, ako v predchádzajúcom príklade. Zadajte svojho vlastníka <servername> a <database_name>. Naprí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"
Ďalšie informácie o exporte nájdete v téme Export sqlpackage.
Extrahovanie a publikovanie
A .dacpac je modelový súbor schémy databázy, ktorý obsahuje definície tabuliek, uložených procedúr a ďalších objektov v zdrojovej databáze. Tento súbor je možné vytvoriť z existujúcej databázy s sqlpackage alebo z projektu databázy SQL.
SqlPackage je schopný nasadiť .dacpac do novej (prázdnej) databázy alebo prírastkovo aktualizovať existujúcu databázu tak, aby zodpovedala požadovanému .dacpac stavu.
-
Extrahovanie vytvorí
.dacpacalebo SQL súbory z existujúcej databázy. -
Publikovanie nasadzuje
.dacpacpoložku do databázy.
Syntax jazyka SQLPackage publikovanie a extrahovanie je podobná syntaxi príkazov importu/exportu.
Varovanie
Na nasadenie projektu SQL alebo .dacpac do databázy SQL v službe Fabric sa odporúča použitie služby SqlPackage. Nasadenie .dacpac z Visual Studia môže byť neúspešné.
Ak chcete nasadiť .dacpac vytvorenú z databázy Azure SQL, SQL Servera alebo projektu SQL zameraného na inú platformu ako databáza SQL v službe Fabric, pripojte vlastnosť /p:AllowIncompatiblePlatform=true do príkazu na publikovanie databázy SqlPackage.
Extrahovanie a publikovanie prenosnosti
Zatiaľ čo príkazy importu a exportu aplikácie SqlPackage sú zamerané na prenosnosť údajov pomocou .bacpac formátu, príkazy na extrahovanie a publikovanie dokážu prenášať údaje s daným formátom .dacpac . Extrahovanie a publikovanie vlastností sa dá použiť na ovládanie správania operácií extrahovania a publikovania a na zabezpečenie väčšej flexibility pri konverziách medzi platformami.
Ak chcete extrahovať.dacpac a zahrnúť údaje, použite /p:ExtractAllTableData=true vlastnosť . Operácia extrahovania vytvorí schému .dacpac a aj údaje zo zdrojovej databázy. Vlastnosť /p:ExtractReferencedServerScopedElements=false vylučuje prvky v rámci servera, ktoré nie sú podporované v databáze SQL v službe Fabric. Nasledujúci príkaz extrahuje .dacpac údaje z existujúcej databázy SQL v službe 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
Na publikovanie.dacpac extrahovanej pomocou údajov sa nevyžadujú žiadne ďalšie vlastnosti. Na ovládanie správania operácie publikovania však možno použiť niekoľko vlastností:
-
/p:AllowIncompatiblePlatform=trueumožňuje nasadenie extrahovaného objektu.dacpacz inej platformy (napríklad databázy Azure SQL, SQL Servera). -
/p:ExcludeObjectTypes=Logins;Usersvylučuje typy objektov, u ktoré sa môžu vyskytnúť problémy s kompatibilitou pri publikovaní do databázy SQL v službe Fabric. Úplný zoznam typov objektov, ktoré možno vylúčiť, nájdete v téme Publikovanie balíka SqlPackage.
Podobne ako pri príkaze importu sqlpackage je pred publikovaním .dacpac databázy SQL v službe Fabric potrebné vytvoriť databázu v službe Fabric. Databázu môžete vytvoriť prostredníctvom portálu služby Fabric alebo iného rozhrania služby Fabric. Nasledujúci príkaz publikuje extrahované .dacpac do prázdnej databázy SQL v službe 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