Dela via


SqlPackage för SQL-databas i Microsoft Fabric

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, inklusive SQL Server eller Azure SQL Managed Instance, om du vill migrera senare.
  • Samma portabilitet möjliggör även vissa migreringsscenarier via fristående databaskopior (.bacpac) med import-/exportåtgärder.

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 .dacpac fil som innehåller definitionerna av objekt i en databas och publicera en .dacpac fil 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

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.

Kommentar

A .bacpac är inte en säkerhetskopia eller en ersättning för säkerhetskopierings-/återställningsfunktioner. Mer information om säkerhetskopior i Fabric SQL-databasen 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.

  1. Om du använder en .bacpac från din Azure SQL Database-miljö kan du behöva ändra källdatabasen så att den uppfyller T-SQL-ytan för Fabric SQL-databasen.

  2. Skapa din nya SQL-databas i Fabric som vanligt via Fabric-gränssnittet.

  3. Kopiera anslutningssträng från inställningarna.

    Skärmbild från Fabric-portalen som visar sidan Anslutningssträngar i SQL-databasen.

  4. 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 sourcefile med .bacpac namnet (DatabaseName) och location på den lokala datorn.

Mer information om import finns i SqlPackage-import.

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.exe /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

Diagram över hur SQL-databasprojekt kan flytta schemaändringar.

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 .dacpac eller sql-filer från en befintlig databas.
  • Publish distribuerar en .dacpac till 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.