Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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