Dela via


Översikt över dataskiktsapplikationer (DAC)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Förhandsversion av Microsoft Fabric

Ett datanivåprogram (DAC) är en logisk databasentitet som definierar alla SQL Server-objekt – till exempel tabeller, vyer och instansobjekt, inklusive inloggningar – som är associerade med en användares databas. Ett datanivåprogram är en fristående enhet i hela databasmodellen och är portabel i både .dacpac och .bacpac paket. Verktygsstöd för program på datanivå gör det möjligt för utvecklare och databasadministratörer att tillämpa .dacpac och .bacpac filer på nya eller befintliga databaser eller generera nya filer från befintliga databaser.

Operations

BACPAC operations

Filformatet .bacpac är en relaterad artefakt som som standard kapslar in databasschemat och data som lagras i databasen. Objekt i .bacpac-databasmodellen är begränsade till ytan i Azure SQL Database. Det primära användningsfallet för en .bacpac är att flytta en databas från en server till en annan – eller att migrera en databas från en lokal server till molnet – och arkivera en befintlig databas i ett öppet format.

Läs mer om databasportabilitet i dokumentationen om SqlPackage-portabilitet.

DACPAC operations

Det .dacpac programpaketet på datanivå är kompileringsartefakten från SQL-databasprojekt och kan användas som en del av en omfattande databaslivscykelhantering och DevOps-strategi. Data ingår inte i en .dacpac som standard, men du kan välja att inkludera data från användartabeller när du extraherar en .dacpac från en sql server eller Azure SQL Database. Som en integrerad del av SQL-databasprojektets arbetsflöde och databasutvecklingslivscykel används .dacpac filer i flera åtgärder. De primära åtgärderna är:

  • Extrahera – användaren kan extrahera en databas till en .dacpac. Mer information finns i SqlPackage extract och Extract a DAC From a Database.
  • Distribuera/Publicera – användaren kan distribuera en .dacpac till en värdserver. När distributionen görs till en befintlig databas beräknas och tillämpas skillnaden mellan databasen och DAC dynamiskt som en inkrementell uppdatering. Termen "publicera" används ofta utbytbart med "distribuera". Mer information finns i SqlPackage publish och Deploy a Data-tier Application.

Dessa funktioner finns i SqlPackage CLI, SQL Server Management Studio, Azure Data Studio och SQL Server Data Tools.

Förutom att publicera och extrahera kan du även spåra databasmodellen i systemets metadata genom att använda DAC-registrering funktionalitet.

  • Registrera – användaren kan registrera en databas som ett program på datanivå. Register lagrar en representation av databasschemats aktuella tillstånd i systemmetadata.
  • Avregistrera – en databas som tidigare registrerats som en DAC kan avregistreras.
  • Uppgradera – en databas kan uppgraderas med hjälp av en .dacpac.

Programverktyg på datanivå

Verktygsstöd för program på datanivå gör det möjligt för utvecklare och databasadministratörer att arbeta med .dacpac och .bacpac filer från både grafiska gränssnitt och kommandoradsgränssnitt. Förutom de utgivna verktygen finns program-API:er på datanivå tillgängliga i Application Framework (DACFx) på datanivå för anpassning av .NET-utveckling och databaslivscykel.

DACPAC- och BACPAC-paket

Följande verktyg stöder formaten .dacpac och .bacpac:

I dessa verktyg kan en databas extraheras till en .dacpac eller exporteras till en .bacpac. Omvänt kan en .bacpac importeras till en ny databas eller en .dacpac kan publiceras till en ny eller befintlig databas.

DACPAC- och SQL-projekt

Följande verktyg stöder .dacpac filformat förutom redigering av SQL-databasprojekt:

I de här verktygen kan utvecklare utforma en databas i en utvecklingsmiljö på klientsidan som inte är ansluten. Läs mer i artikeln SQL-projektverktyg.