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 si compila un progetto di database SQL, si crea un .dacpac file. È possibile aggiornare database nuovi ed esistenti 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 dipende da .NET SDK (obbligatorio) e AutoRest.Sql (facoltativo).

.NET SDK

L'estensione richiede .NET SDK per la funzionalità di compilazione del progetto. Se l'estensione non riesce a rilevare una versione supportata, viene richiesto di installare .NET SDK. È possibile scaricare e installare .NET SDK 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

  • L'nuget.org mancante dall'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).

    È possibile forzare l'estensione Progetti di database SQL a usare la versione v6.x di .NET SDK quando vengono installate più versioni. A tale scopo, aggiungere un fileglobal.json alla cartella contenente 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

Visual Studio Code non supporta gli oggetti SQLCLR nei progetti di database, perché questi oggetti 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. Per impostazione predefinita, è possibile accedere a tutti i progetti SQL all'interno delle cartelle aperte nell'area di lavoro corrente nella visualizzazione Progetti di database SQL .

È possibile aggiungere e rimuovere manualmente progetti da un'area di lavoro tramite l'interfaccia nel riquadro Progetti . Se necessario, è possibile modificare manualmente le impostazioni per un'area di lavoro nel .code-workspace file.

Nel file di esempio .code-workspace seguente la folders matrice elenca tutte le cartelle incluse nel riquadro Explorer. 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"
    ]
  }
}