Applicazioni livello dati

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Un'applicazione livello dati è un'entità logica dei database che definisce tutti gli oggetti di SQL Server, ad esempio le tabelle, le visualizzazioni e gli oggetti istanza, associati a un database dell'utente. Un'applicazione livello dati è un'unità autonoma dell'intero modello di database ed è portabile in un artefatto noto come pacchetto di applicazione livello dati o .dacpac. Il supporto degli strumenti per le applicazioni livello dati consente agli sviluppatori e agli amministratori di database di implementare dacpac in database nuovi o esistenti. Le distribuzioni in un database esistente aggiornano il modello di database dallo stato esistente in modo che corrispondano al contenuto del dacpac. Gli sviluppatori compilano applicazioni livello dati da progetti di database SQL, un concetto di sviluppo dichiarativo per la compilazione di oggetti SQL che abilita il controllo del codice sorgente nello schema del database.

Un .bacpac è un artefatto correlato che incapsula per impostazione predefinita lo schema del database e i dati archiviati nel database. L'uso primario di un file BACPAC riguarda lo spostamento di un database da un server a un altro o la migrazione di un database da un server locale al cloud e l'archiviazione di un database esistente in un formato aperto.

Vantaggi delle applicazioni livello dati

Il ciclo di vita della maggior parte delle applicazioni di database prevede che gli sviluppatori e gli amministratori di database condividano e scambino script e note di integrazione monouso per le attività di aggiornamento e dell'applicazione. Anche se questo processo è accettabile in alcune circostanze, può essere difficile integrarsi con pipeline DevOps e processi di sviluppo generali.

Le applicazioni livello dati consentono lo sviluppo dichiarativo del database, semplificando il processo di sviluppo e offrendo un'esperienza di sviluppo più coerente e prevedibile. Uno sviluppatore può creare un database con progetti di database SQL nella scelta dell'Integrated Development Environment (IDE). Un progetto di database SQL può essere generato in un pacchetto di applicazione livello dati in locale o in una pipeline DevOps. Il pacchetto di applicazione livello dati viene distribuito a sua volta in un database di test, gestione temporanea o di produzione tramite un processo automatizzato o manualmente con una CLI o uno strumento GUI. Il .dacpac può essere usato per aggiornare un database con oggetti nuovi o modificati, ripristinare una versione precedente del database o eseguire il provisioning di un database completamente nuovo. Al contrario, un .dacpac può essere generato da un database esistente e usato per stabilire un progetto di database SQL basato sullo schema del database corrente.

Il vantaggio di una distribuzione basata su applicazione livello dati su un processo basato sulla migrazione è che il processo consente l'identificazione e la convalida dei comportamenti da database di origine e obiettivo diversi. Gli strumenti usati durante la distribuzione o gli aggiornamenti del database hanno opzioni per contrassegnare azioni rischiose, ad esempio le modifiche alle dimensioni di colonna che potrebbero causare la perdita di dati e la possibilità di creare direttamente script per il piano di aggiornamento. Questo piano può essere valutato manualmente prima di procedere con l'aggiornamento.

Operazioni

Un'applicazione livello dati semplifica lo sviluppo, la distribuzione e la gestione degli elementi livello dati che supportano un'applicazione.

DACPAC

Un'applicazione livello dati supporta le seguenti operazioni:

Queste capacità sono disponibili in SqlPackage, SQL Server Management Studio, Azure Data Studio e SQL Server Data Tools.

Progetti di database SQL

Un progetto SQL supporta le seguenti operazioni:

  • BUILD: l'utente può compilare un progetto di database SQL in un .dacpac.

  • PUBLISH: l'utente può pubblicare un progetto di database SQL in un server host.

  • EXTRACT: l'utente può estrarre un database in un progetto di database SQL.

Queste capacità sono disponibili in Azure Data Studio, Visual Studio Code e SQL Server Data Tools.

BACPAC

Un .bacpac invece esegue l'acquisizione dello schema e dei dati a supporto di due operazioni principali:

Entrambe queste capacità sono supportate dagli strumenti SqlPackage, SQL Server Management Studio, Azure Data Studio e dal Portale di Azure.

Strumenti di applicazione livello dati

Gli artefatti dell'applicazione livello dati e i progetti SQL possono essere usati in più strumenti. Questi strumenti rispondono ai requisiti di utenti diversi.

DACPAC e BACPAC

Gli strumenti seguenti supportano il pacchetto di applicazione livello dati e il formato del pacchetto BAC:

In questi strumenti un database può essere estratto in un .dacpac o esportato in un .bacpac. Viceversa, è possibile importare un .bacpac in un nuovo database o pubblicare un .dacpac in un database nuovo o esistente.

Pacchetto di applicazione livello dati e progetti SQL

Gli strumenti seguenti supportano il formato del pacchetto di applicazione livello dati oltre a fornire la modifica dei progetti di database SQL:

In questi strumenti gli sviluppatori possono progettare un database in un ambiente di sviluppo lato client non connesso. Gli strumenti possono essere usati per creare un pacchetto di applicazione livello dati, implementare un pacchetto di applicazione livello dati in un database e importare un pacchetto di database in un progetto SQL.

Concetti di applicazione livello dati

Supporto versione

In generale, gli strumenti di applicazione livello dati sono in grado di leggere i file .dacpac generati dagli strumenti di applicazione livello dati delle versioni precedenti di SQL Server e di implementare tali file a versioni precedenti di SQL Server. Tuttavia, gli strumenti di applicazione livello dati delle versioni precedenti non sono in grado di leggere i file .dacpac generati dagli strumenti di applicazione livello dati delle versioni successive. Gli strumenti di applicazione livello dati supportano almeno le versioni in-support di SQL Server al momento del rilascio.

File format

Un .dacpac è una cartella compressa con estensione .dacpac e analogamente un .bacpac è una cartella compressa con estensione .bacpac. Un utente Advanced può decomprimere il file per visualizzare più sezioni XML che rappresentano i dettagli dell'origine, gli oggetti nel database e altre caratteristiche. Per decomprimere un .dacpac o .bacpac, sostituire l'estensione del file con .zip e usare un'utilità di compressione file per decomprimere il file.

Registrazione dell'applicazione livello dati

In SQL Server Management Studio è possibile eseguire altre azioni in un database per registrarlo come applicazione livello dati.

  • REGISTER: l'utente può registrare un database come applicazione livello dati.

  • UNREGISTER: è possibile annullare la registrazione di un database registrato in precedenza come applicazione livello dati.

  • UPGRADE: è possibile aggiornare un database usando un .dacpac.

Per altre informazioni su queste attività, vedi i task di seguito.

Attività Collegamento all'articolo
Viene descritto come utilizzare un nuovo file del pacchetto di applicazione livello dati per aggiornare un'istanza alla nuova versione dell'applicazione livello dati. Aggiornare un'applicazione livello dati
Viene descritto come eliminare un'istanza di applicazione livello dati. È inoltre possibile scollegare o eliminare il database associato o lasciarlo intatto. Eliminare un'applicazione livello dati
Viene descritto come promuovere un database esistente trasformandolo in un'istanza di applicazione livello dati. Una definizione dell'applicazione livello dati viene compilata e archiviata nei database di sistema. Registrare un database come applicazione livello dati
Viene descritto come rivedere il contenuto di un pacchetto di applicazione livello dati e le azioni che un aggiornamento dell'applicazione livello dati eseguirà prima di utilizzare il pacchetto in un sistema di produzione. Convalidare un pacchetto di applicazioni livello dati

Passaggi successivi