Estensione progetti di database SQL

L'estensione database SQL Projects è un'estensione di Azure Data Studio e Visual Studio Code per lo sviluppo di database SQL in un ambiente di sviluppo basato su progetto. I database compatibili includono SQL Server, database SQL di Azure, Istanza gestita di SQL di Azure e Azure Synapse SQL. Un progetto SQL è una rappresentazione locale degli oggetti SQL che costituiscono lo schema di un database singolo, ad esempio tabelle, stored procedure o funzioni. Quando viene compilato un progetto database SQL, l'artefatto di output è un file con estensione dacpac. I database nuovi ed esistenti possono essere aggiornati in modo che corrispondano al contenuto di .dacpac pubblicando il progetto database SQL con l'estensione progetti database SQL o pubblicando il file con estensione dacpac con l'interfaccia della riga di comando SqlPackage.

Summary of SQL Database Projects containing pre-deployment and post-deployment scripts as well as database objects.

Funzionalità dell'estensione

L'estensione progetti di database SQL offre le funzionalità seguenti:

  • Creare un nuovo progetto vuoto.
  • Creare un nuovo progetto da un database connesso.
  • Aprire un progetto creato in precedenza in Azure Data Studio, Visual Studio Code o in SQL Server Data Tools.
  • Modificare un progetto aggiungendo o rimuovendo oggetti (tabelle, viste, stored procedure) o script personalizzati nel progetto.
  • Organizzare file/script in cartelle.
  • Aggiungere riferimenti a database di sistema o al pacchetto di applicazione livello dati di un utente.
  • Compilare un progetto singolo.
  • Distribuire un progetto singolo.
  • Caricare i dettagli della connessione (autenticazione di Windows per SQL) e le variabili di SQLCMD dal profilo di distribuzione.

Le funzionalità seguenti nell'estensione database SQL Projects sono attualmente in anteprima:

Guardare questo breve video di 10 minuti per un'introduzione all'estensione progetti di database SQL in Azure Data Studio:

Installa

È possibile installare l'estensione database SQL Project in Azure Data Studio e Visual Studio Code.

Azure Data Studio

Per installare l'estensione progetti di database SQL in Azure Data Studio, seguire questa procedura:

  1. Aprire Gestione estensioni per accedere alle estensioni disponibili. A questo scopo, selezionare l'icona delle estensioni o selezionare Estensioni dal menu Visualizza.

  2. Identificare l'estensione progetti di database SQL digitandone il nome, per intero o in parte, nella casella di ricerca delle estensioni. Selezionare un'estensione disponibile per visualizzarne i dettagli.

    Screenshot of Azure Data Studio, Install extension.

  3. Selezionare l'estensione desiderata e quindi Installa per installarla.

  4. Selezionare Ricarica per abilitare l'estensione (necessario solo la prima volta che si installa un'estensione).

  5. Selezionare l'icona Progetti nella barra attività.

Nota

  • Per usufruire della funzionalità completa, insieme all'estensione progetti di database SQL è consigliabile installare l'estensione confronto schemi.

Visual Studio Code

L'estensione database SQL Projects viene installata con l'estensione mssql per Visual Studio Code.

Dipendenze

L'estensione database SQL Projects ha una dipendenza da .NET SDK (obbligatorio) e AutoRest.Sql (facoltativo).

.NET SDK

.NET SDK è necessario per la funzionalità di compilazione del progetto e viene richiesto di installare .NET SDK se non è possibile rilevare una versione supportata dall'estensione. .NET SDK può essere scaricato e installato per Windows, macOS e Linux.

Per verificare le versioni attualmente installate di .NET SDK, aprire un terminale ed eseguire il comando seguente:

dotnet --list-sdks

Dopo aver installato .NET SDK, l'ambiente è pronto per usare l'estensione database SQL Projects.

Problemi comuni

Nuget.org mancante nell'elenco delle origini può causare messaggi di errore, ad esempio:

  • error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
  • Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages

Per verificare se nuget.org è registrato come origine, eseguire dotnet nuget list source dalla riga di comando ed esaminare i risultati di un [Enabled] elemento che fa riferimento nuget.org. Se nuget.org non è registrato come origine, eseguire dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Le versioni di .NET SDK non supportate possono causare messaggi di errore, ad esempio:

  • error MSB4018: The "SqlBuildTask" task failed unexpectedly.
  • error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_ (dove il file collegato non esistente ha una parentesi quadra chiusa non corrispondente).

Per forzare l'estensione database SQL Projects a usare la versione v6.x di .NET SDK quando vengono installate più versioni, aggiungere un file global.json alla cartella che contiene il progetto SQL.

AutoRest.Sql

L'estensione SQL per AutoRest viene scaricata automaticamente e usata dall'estensione progetti di database SQL quando viene generato un progetto SQL da un file di specifica OpenAPI.

Limiti

Attualmente, l'estensione progetti di database SQL presenta le limitazioni seguenti:

  • Le attività (compilazione/pubblicazione) non sono definite dall'utente.
  • Gli oggetti SQLCLR nei progetti non sono supportati.
  • Le regole di analisi del codice nei progetti non sono attualmente supportate.

Area di lavoro

I progetti di database SQL sono contenuti all'interno di un'area di lavoro logica in Azure Data Studio e Visual Studio Code. Un'area di lavoro gestisce le cartelle visibili nel riquadro Esplora. Tutti i progetti SQL all'interno delle cartelle aperte nell'area di lavoro corrente sono disponibili nella vista Progetti di database SQL per impostazione predefinita.

È possibile aggiungere e rimuovere manualmente progetti da un'area di lavoro tramite l'interfaccia del riquadro Progetti. Le impostazioni per un'area di lavoro possono essere modificate manualmente nel file .code-workspace, se necessario.

Nel file di esempio .code-workspace seguente la folders matrice elenca tutte le cartelle incluse nel riquadro Explorer e la dataworkspace.excludedProjects matrice all'interno settings elenca tutti i progetti SQL esclusi dal riquadro Progetti .

{
	"folders": [
		{
			"path": "."
		},
		{
			"name": "WideWorldImportersDW",
			"path": "..\\WideWorldImportersDW"
		}
	],
	"settings": {
		"dataworkspace.excludedProjects": [
			"AdventureWorksLT.sqlproj"
		]
	}
}

Passaggi successivi