Del via


SqlPackage til SQL-database i Microsoft Fabric

Gælder for:SQL-database i Microsoft Fabric

I dette selvstudium lærer du, hvordan du arbejder med SqlPackage i din SQL-database i Fabric.

SqlPackage er en kommandolinjegrænseflade, der leverer databaseportabilitet og databaseinstallationer.

  • Overførbarheden (import/eksport) af en database, der administreres i Azure eller Fabric, sikrer, at dine data er bærbare til andre platforme, hvis du vil migrere senere. – Overførsel omfatter flytning til og fra SQL Server, Azure SQL Database, Azure SQL Managed Instance og SQL-database i Fabric via selvstændige databasekopier (.bacpac eller .dacpac filer).

SqlPackage kan også muliggøre nem databaseinstallationer af trinvise ændringer af databaseobjekter (nye kolonner i tabeller, ændringer af eksisterende lagrede procedurer osv.).

  • SqlPackage kan udtrække en .dacpac fil, der indeholder definitionerne af objekter i en database, og udgive en .dacpac fil for at anvende objekttilstanden på en ny eller eksisterende database.
  • Publiceringshandlingen integreres også med SQL-projekter, hvilket muliggør offline- og mere dynamiske udviklingscyklusser for SQL-databaser.

Forudsætninger

Opsætte

SqlPackage er tilgængelig til Windows, macOS og Linux som et dotnetværktøj. Du kan installere den ved hjælp af følgende kommando:

dotnet tool install --global Microsoft.SqlPackage

Som et globalt dotnetværktøj er SqlPackage tilgængelig i terminalen fra en hvilken som sqlpackage helst mappe.

Importér en database med SqlPackage

A .bacpac er en bærbar kopi af en database, der er nyttig til nogle overførsels- og testscenarier. Du kan importere det .bacpac til en tom SQL-database med SqlPackage-import.

Bemærk

A .bacpac er ikke en sikkerhedskopiering eller en erstatning for sikkerhedskopierings-/gendannelsesfunktioner. Du kan få flere oplysninger om sikkerhedskopier til SQL-database i Fabric under Automatisk sikkerhedskopiering i SQL-database i Microsoft Fabric og gendannelse fra en sikkerhedskopi i SQL-database i Microsoft Fabric.

  1. Hvis du bruger et .bacpac fra et Azure- eller SQL Server-miljø, skal du muligvis ændre kildedatabasen, så den opfylder SQL-databasen i Fabric T-SQL-overfladeområdet. Se udtræk og publicer portabilitet for en alternativ metode, der gør det muligt for SqlPackage-egenskaber at springe nogle ikke-understøttede objekter over.

  2. Opret din nye SQL-database i Fabric som normalt via Fabric-grænsefladen.

  3. Kopiér forbindelsesstreng fra indstillingerne.

    Skærmbillede fra Fabric-portalen, der viser siden Forbindelsesstrenge i SQL-databasen.

  4. Brug kommandoen import fra terminal i sqlpackage-mappen. Angiv din ejer <servername> og <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"
    
    • Erstat din forbindelsesstreng fra dialogboksen SQL-databaseindstillinger.
    • Erstat værdien sourcefile med navnet .bacpac (DatabaseName) og location på din lokale computer.
  5. Følg importen med et kopijob i Data Factory i Microsoft Fabric. Du kan komme i gang under Hurtig introduktion: Oprette et kopijob.

Eksportér en database med SqlPackage

Eksport af en .bacpac er den omvendte handling, hvor er targetfile en .bacpac , og du sourceconnectionstring kan finde den i dialogboksen med indstillinger for SQL-database som i det forrige eksempel. Angiv din ejer <servername> og <database_name>. Eksempler:

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"

Du kan finde flere oplysninger om eksport under SqlPackage-eksport.

Udtræk og publicer

Diagram over, hvordan SQL-databaseprojekter kan flytte skemaændringer.

A .dacpac er en databaseskemamodelfil, der indeholder definitioner for tabellerne, lagrede procedurer og andre objekter i kildedatabasen. Denne fil kan oprettes ud fra en eksisterende database med SqlPackage eller fra et SQL-databaseprojekt.

SqlPackage kan udrulle en .dacpac til en ny (tom) database eller trinvist opdatere en eksisterende database, så den svarer til den ønskede .dacpac tilstand.

  • Udpak opretter en .dacpac eller SQL-filer fra en eksisterende database.
  • Publish udruller en .dacpac til en database.

SqlPackage-publicere og udtrække-syntaks svarer til import-/eksportkommandoerne.

Advarsel

Det anbefales at bruge SqlPackage til at udrulle et SQL-projekt eller .dacpac til SQL-databasen i Fabric. Det kan mislykkes at installere en .dacpac fra Visual Studio.

Hvis du vil udrulle en .dacpac, der er oprettet ud fra Azure SQL Database, SQL Server eller et SQL-projekt, der er målrettet til en anden platform end SQL-database i Fabric, skal du føje egenskaben /p:AllowIncompatiblePlatform=true til kommandoen SqlPackage publish.

Udtræk og udgiv portabilitet

Selvom SqlPackage-import-/eksportkommandoerne fokuserer på dataportabilitet med .bacpac formatet, kan kommandoerne udtrækkes og udgives i stand til at overføre data med .dacpac formatet. Udtræks- og publiceringsegenskaber kan bruges til at styre funktionsmåden for udtræknings- og publiceringshandlinger og give større fleksibilitet til konverteringer mellem platforme.

Hvis du vil udtrække og .dacpac inkludere dataene, skal du bruge egenskaben /p:ExtractAllTableData=true . Udtrækningshandlingen opretter en .dacpac , der indeholder både skemaet og dataene fra kildedatabasen. Egenskaben /p:ExtractReferencedServerScopedElements=false udelukker serverbaserede elementer, som ikke understøttes i SQL-databasen i Fabric. Følgende kommando udtrækker en .dacpac med data fra en eksisterende SQL-database i 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

Hvis du vil publicere en .dacpac , der er udtrukket med dataene, kræves der ingen ekstra egenskaber. Flere egenskaber kan dog bruges til at styre funktionsmåden for publiceringshandlingen:

  • /p:AllowIncompatiblePlatform=true tillader installation af en .dacpac , der er udpakket fra en anden platform (f.eks. Azure SQL Database, SQL Server).
  • /p:ExcludeObjectTypes=Logins;Users udelukker objekttyper, der kan opleve kompatibilitetsproblemer, når du publicerer til SQL-databasen i Fabric. Du kan se en komplet liste over objekttyper, der kan udelades, under Publicer SqlPackage.

På samme måde som sqlPackage-importkommandoen skal du oprette databasen i Fabric, før du publicerer en .dacpac til SQL-database i Fabric. Du kan oprette databasen via Fabric-portalen eller en anden Fabric-grænseflade. Følgende kommando publicerer den udpakkede .dacpac til en tom SQL-database i 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