Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:✅SQL-databas i Microsoft Fabric
I den här självstudien får du lära dig hur du arbetar med SqlPackage i din SQL-databas i Fabric.
SqlPackage är ett CLI som tillhandahåller databasportabilitet och databasdistributioner.
- Portabiliteten (import/export) för en databas som hanteras i Azure eller i Fabric säkerställer att dina data är portabla till andra plattformar om du vill migrera senare. – Portabilitet omfattar förflyttning till och från SQL Server, Azure SQL Database, Azure SQL Managed Instance och SQL-databas i Fabric via fristående databaskopior (
.bacpaceller.dacpac-filer).
SqlPackage kan också möjliggöra enkla databasdistributioner av inkrementella ändringar av databasobjekt (nya kolumner i tabeller, ändringar i befintliga lagrade procedurer osv.).
- SqlPackage kan extrahera en
.dacpacfil som innehåller definitionerna av objekt i en databas och publicera en.dacpacfil för att tillämpa objekttillståndet på en ny eller befintlig databas. - Publiceringsåtgärden integreras också med SQL-projekt, vilket möjliggör offline- och mer dynamiska utvecklingscykler för SQL-databaser.
Förutsättningar
- Du behöver en befintlig infrastrukturkapacitet. Om du inte gör det startar du en fabric-utvärderingsversion.
- Skapa en ny arbetsyta eller använd en befintlig infrastrukturarbetsyta.
- Skapa eller använda en befintlig SQL-databas i Fabric. Om du inte redan har en skapar du en ny SQL-databas i Infrastrukturresurser.
- Installera .NET 8 SDK.
Ställ in
SqlPackage är tillgängligt för Windows, macOS och Linux som ett dotnet-verktyg. Du kan installera den med hjälp av följande kommando:
dotnet tool install --global Microsoft.SqlPackage
Som ett globalt dotnet-verktyg är SqlPackage tillgängligt i terminalen från sqlpackage valfri mapp.
Importera en databas med SqlPackage
A .bacpac är en bärbar kopia av en databas, användbar för vissa migrerings- och testscenarier. Du kan importera den .bacpac till en tom SQL-databas med SqlPackage-import.
Kommentar
A .bacpac är inte en säkerhetskopia eller en ersättning för säkerhetskopierings-/återställningsfunktioner. Mer information om säkerhetskopior för SQL Database i Fabric finns i Automatiska säkerhetskopior i SQL-databasen i Microsoft Fabric och Återställning från en säkerhetskopia i SQL-databasen i Microsoft Fabric.
Om du använder en
.bacpacfrån en Azure- eller SQL Server-miljö kan det behövas att du ändrar källdatabasen för att den ska överensstämma med SQL-databasen i Fabric T-SQL-yta. Se extrahera och publicera portabilitet för en alternativ metod som gör det möjligt för SqlPackage-egenskaper att hoppa över vissa objekt som inte stöds.Skapa din nya SQL-databas i Fabric som vanligt via Fabric-gränssnittet.
Kopiera anslutningssträng från inställningarna.
Använd importkommandot från terminalen i mappen sqlpackage. Ange din ägare
<servername>och<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"- Ersätt din anslutningssträng från dialogrutan FÖR SQL-databasinställningar.
- Ersätt värdet
sourcefilemed.bacpacnamnet (DatabaseName) ochlocationpå den lokala datorn.
Följ importen med ett kopieringsjobb i Data Factory i Microsoft Fabric. Kom igång genom att läsa Snabbstart: Skapa ett kopieringsjobb.
Exportera en databas med SqlPackage
Exportera en .bacpac är den omvända åtgärden, där din targetfile är en .bacpac och du sourceconnectionstring kan hittas i dialogrutan SQL-databasinställningar, som i föregående exempel. Ange din ägare <servername> och <database_name>. Till exempel:
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"
Mer information om export finns i SqlPackage-export.
Extrahera och publicera
A .dacpac är en databasschemamodellfil som innehåller definitioner för tabellerna, lagrade procedurer och andra objekt i källdatabasen. Den här filen kan skapas från en befintlig databas med SqlPackage eller från ett SQL-databasprojekt.
SqlPackage kan distribuera en .dacpac till en ny (tom) databas eller stegvis uppdatera en befintlig databas för att matcha önskat .dacpac tillstånd.
-
Extrahera skapar en
.dacpaceller sql-filer från en befintlig databas. -
Publish distribuerar en
.dacpactill en databas.
SqlPackage-publiceringssyntax och extraheringssyntax liknar import/export-kommandon.
Varning
Vi rekommenderar att du använder SqlPackage för att distribuera ett SQL-projekt eller .dacpac till SQL-databasen i Fabric. Det kan misslyckas att distribuera en .dacpac från Visual Studio.
Om du vill distribuera en .dacpac som har skapats från Azure SQL Database, SQL Server eller ett SQL-projekt som riktar sig mot en annan plattform än SQL-databas i Fabric lägger du till egenskapen /p:AllowIncompatiblePlatform=true till SqlPackage-publiceringskommandot.
Extrahera och publicera portabilitet
Medan SqlPackage-kommandona för import/export fokuserar på dataportabilitet med formatet .bacpac, kan extraherings- och publiceringskommandona möjliggöra dataportabilitet med formatet .dacpac. Extrahera och publicera egenskaper kan användas för att styra beteendet för extraherings- och publiceringsåtgärderna och ge mer flexibilitet för konverteringar mellan plattformar.
Om du vill extrahera data och inkludera den använder du .dacpac-egenskapen. Extraheringsåtgärden skapar en .dacpac som innehåller både schemat och data från källdatabasen. Egenskapen /p:ExtractReferencedServerScopedElements=false exkluderar serveromfattande element som inte stöds i SQL Database i Fabric. Följande kommando extraherar en .dacpac med data från en befintlig SQL-databas 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
Inga extra egenskaper krävs för att publicera en .dacpac som extraherades med hjälp av data. Flera egenskaper kan dock användas för att styra beteendet för publiceringsåtgärden:
-
/p:AllowIncompatiblePlatform=truetillåter distribution av en.dacpacsom extraherades från en annan plattform (till exempel Azure SQL Database, SQL Server). -
/p:ExcludeObjectTypes=Logins;Usersexkluderar objekttyper som kan stöta på kompatibilitetsproblem vid publicering till SQL-databas i Fabric. En fullständig lista över objekttyper som kan undantas finns i Publicera i SqlPackage.
På samma sätt som sqlpackage-importkommandot måste du skapa databasen i Fabric innan du publicerar en .dacpac till SQL-databas i Fabric. Du kan skapa databasen via Fabric-portalen eller något annat infrastrukturgränssnitt. Följande kommando publicerar den extraherade .dacpac till en tom SQL-databas 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