Condividi tramite


Estensione per Progetti di Database SQL

Importante

Azure Data Studio si ritira il 28 febbraio 2026. È consigliabile usare Visual Studio Code. Per altre informazioni sulla migrazione a Visual Studio Code, vedere Che cosa accade in Azure Data Studio?

L'estensione Progetti di database SQL è un'estensione di 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 Azure SQL, Warehouse in Fabric e database SQL in Fabric. Un progetto SQL è una rappresentazione locale di oggetti SQL che costituiscono lo schema per un singolo database, ad esempio tabelle, stored procedure o funzioni. Quando viene compilato un progetto di database SQL, l'artefatto di output è un .dacpac file. I database nuovi ed esistenti possono essere aggiornati in modo che corrispondano al contenuto di .dacpac pubblicando il progetto di database SQL con l'estensione Progetti di database SQL o pubblicando con l'interfaccia .dacpac della riga di comando SqlPackage .

Screenshot del riepilogo dei progetti di database SQL contenenti script di pre-distribuzione e post-distribuzione, nonché oggetti di database.

Per altre informazioni sui concetti relativi ai progetti SQL, vedere Che cosa sono i progetti di database SQL?

Funzionalità di estensione

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

  • Creare un nuovo progetto Microsoft.Build.Sql vuoto.
  • Creare un nuovo progetto da un database connesso.
  • Aprire un progetto creato in precedenza in 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 e script in cartelle.
  • Aggiungere riferimenti ai database di sistema o a un dacpac utente.
  • Compilare un singolo progetto.
  • Distribuire un singolo progetto.
  • Caricare i dettagli della connessione (autenticazione di SQL Windows) e le variabili SQLCMD dal profilo di distribuzione.

Install

È possibile installare l'estensione Progetto di database SQL in Visual Studio Code.

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

Dipendenze

L'estensione Progetti di database SQL 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 controllare le versioni attualmente installate di dotnet SDK, aprire un terminale ed eseguire il comando seguente:

dotnet --list-sdks

Dopo aver installato .NET SDK, l'ambiente è pronto per l'uso dell'estensione Progetti di database SQL.

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 inesistente collegato ha una parentesi quadra di chiusura non corrispondente).

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

Per altre informazioni sulla risoluzione dei problemi di compilazione dei progetti SQL, vedere Risolvere i problemi relativi alla compilazione del progetto SQL.

SQLCLR

Gli oggetti SQLCLR nei progetti di database non sono supportati in Visual Studio Code perché si basano su .NET Framework e l'estensione Progetti di database SQL usa .NET per compilare progetti.

Workspace

I progetti di database SQL sono contenuti in un'area di lavoro logica (cartella) in Visual Studio Code. Tutti i progetti SQL all'interno delle cartelle aperte nell'area di lavoro corrente sono disponibili nella visualizzazione Progetti di database SQL per impostazione predefinita.

È possibile aggiungere e rimuovere manualmente progetti da un'area di lavoro tramite l'interfaccia nel riquadro Progetti . Le impostazioni per un'area di lavoro possono essere modificate manualmente nel .code-workspace file, 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"
    ]
  }
}