Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder for:✅SQL-database i Microsoft Fabric
I denne opplæringen lærer du hvordan du arbeider med SqlPackage i SQL-databasen i Fabric.
SqlPackage er en CLI som gir databaseportabilitet og databasedistribusjoner.
- Portabiliteten (import/eksport) av en database som administreres i Azure eller i Fabric sikrer at dataene dine er flyttbare til andre plattformer hvis du vil overføre senere. – Portabilitet inkluderer flytting til og fra SQL Server, Azure SQL Database, Azure SQL Managed Instance og SQL-database i Fabric gjennom selvstendige databasekopier (
.bacpaceller.dacpacfiler).
SqlPackage kan også aktivere enkel databasedistribusjon av trinnvise endringer i databaseobjekter (nye kolonner i tabeller, endringer i eksisterende lagrede prosedyrer osv.).
- SqlPackage kan pakke ut en
.dacpacfil som inneholder definisjonene av objekter i en database, og publisere en.dacpacfil for å bruke denne objekttilstanden på en ny eller eksisterende database. - Publiseringsoperasjonen integreres også med SQL-prosjekter, som muliggjør frakoblede og mer dynamiske utviklingssykluser for SQL-databaser.
Forutsetning
- Du trenger en eksisterende stoffkapasitet. Hvis du ikke gjør det, kan du starte en fabric-prøveversjon.
- Opprett et nytt arbeidsområde, eller bruk et eksisterende Fabric-arbeidsområde.
- Opprett eller bruk en eksisterende SQL-database i Fabric. Hvis du ikke allerede har en, oppretter du en ny SQL-database i Fabric.
- Installer .NET 8 SDK.
Oppsett
SqlPackage er tilgjengelig for Windows, macOS og Linux som dotnet-verktøy. Du kan installere den ved hjelp av følgende kommando:
dotnet tool install --global Microsoft.SqlPackage
Som et globalt dotnet-verktøy er SqlPackage tilgjengelig i terminalen som fra hvilken som sqlpackage helst mappe.
Importere en database med SqlPackage
A .bacpac er en bærbar kopi av en database, nyttig for noen overførings- og testscenarioer. Du kan importere det .bacpac til en tom SQL-database med SqlPackage-import.
Merk
A .bacpac er ikke en sikkerhetskopi eller en erstatning for sikkerhetskopierings-/gjenopprettingsfunksjoner. Hvis du vil ha mer informasjon om sikkerhetskopier for SQL-databaser i Fabric, kan du se Automatiske sikkerhetskopier i SQL-databasen i Microsoft Fabric og Gjenopprett fra en sikkerhetskopi i SQL-databasen i Microsoft Fabric.
Hvis du bruker et
.bacpacfra et Azure- eller SQL Server-miljø, må du kanskje endre kildedatabasen for å møte SQL-databasen i Fabric T-SQL-overflateområdet. Se trekk ut og publiser portabilitet for en alternativ metode som gjør det mulig for SqlPackage-egenskaper å hoppe over enkelte objekter som ikke støttes.Opprett den nye SQL-databasen i Fabric som vanlig gjennom Fabric-grensesnittet.
Kopier tilkoblingsstreng fra innstillingene.
Bruk importkommandoen fra terminalen i sqlpackage-mappen. Oppgi eieren
<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"- Erstatt tilkoblingsstreng fra dialogboksen innstillinger for SQL-database.
-
sourcefileErstatt verdien med.bacpacnavnet (DatabaseName) oglocationpå den lokale maskinen.
Følg importen med en kopieringsjobb i Data Factory i Microsoft Fabric. Hvis du vil komme i gang, kan du se Hurtiginnføring: Opprette en kopieringsjobb.
Eksportere en database med SqlPackage
Eksportering av en .bacpac er omvendt operasjon, der du targetfile er en .bacpac , og du finner den sourceconnectionstring i dialogboksen innstillinger for SQL-databaser, som i forrige eksempel. Oppgi eieren <servername> og <database_name>. Eksempel:
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"
Hvis du vil ha mer informasjon om eksport, kan du se SqlPackage-eksport.
Trekke ut og publisere
A .dacpac er en fil for databaseskjemamodell, som inneholder definisjoner for tabellene, lagrede prosedyrer og andre objekter i kildedatabasen. Denne filen kan opprettes fra en eksisterende database med SqlPackage eller fra et SQL-databaseprosjekt.
SqlPackage er i stand til å distribuere en .dacpac til en ny (tom) database eller trinnvis oppdatering av en eksisterende database for å samsvare med ønsket .dacpac tilstand.
-
Pakk ut oppretter en
.dacpaceller sql-filer fra en eksisterende database. -
Publiser distribuerer en
.dacpactil en database.
SqlPackage publisere og trekke ut syntaks ligner på kommandoene for import/eksport.
Advarsel
Det anbefales å bruke SqlPackage til å distribuere et SQL-prosjekt eller .dacpac til SQL-database i Fabric. Distribusjon av en .dacpac fra Visual Studio kan mislykkes.
Hvis du vil distribuere en .dacpac som ble opprettet fra Azure SQL Database, SQL Server eller et SQL-prosjekt rettet mot en annen plattform enn SQL-database i Fabric, tilføyer du egenskapen /p:AllowIncompatiblePlatform=true til publiseringskommandoen SqlPackage.
Trekke ut og publisere portabilitet
Selv om kommandoene for import/eksport av SqlPackage fokuserer på dataportabilitet med .bacpac formatet, kan kommandoene trekke ut og publisere data med .dacpac formatet. Trekk ut og publiser egenskaper kan brukes til å kontrollere virkemåten til uttrekkings- og publiseringsoperasjonene og gi mer fleksibilitet for konverteringer mellom plattformer.
Hvis du vil trekke ut og .dacpac inkludere dataene, bruker du /p:ExtractAllTableData=true egenskapen. Uttrekkingsoperasjonen oppretter en .dacpac som inneholder både skjemaet og dataene fra kildedatabasen. Egenskapen /p:ExtractReferencedServerScopedElements=false utelukker elementer med serveromfang, som ikke støttes i SQL-databasen i Fabric. Følgende kommando trekker ut 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 publisere en .dacpac som ble trukket ut med dataene, kreves det ingen ekstra egenskaper. Flere egenskaper kan imidlertid brukes til å kontrollere virkemåten til publiseringsoperasjonen:
-
/p:AllowIncompatiblePlatform=truetillater distribusjon av en.dacpacsom ble trukket ut fra en annen plattform (for eksempel Azure SQL Database, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersutelukker objekttyper som kan oppleve kompatibilitetsproblemer når du publiserer til SQL-databasen i Fabric. Hvis du vil ha en fullstendig liste over objekttyper som kan utelates, kan du se SqlPackage publisere.
På samme måte som sqlPackage-importkommandoen, må du opprette databasen i Fabric før du publiserer en .dacpac sql-database i Fabric. Du kan opprette databasen via Fabric-portalen eller et annet Stoff-grensesnitt. Følgende kommando publiserer utpakkingen .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