Delen via


SQL Database Projects-extensie

Belangrijk

Azure Data Studio wordt op 28 februari 2026buiten gebruik gesteld. U wordt aangeraden Visual Studio Codete gebruiken. Ga naar Wat gebeurt er met Azure Data Studio voor meer informatie over migreren naar Visual Studio Code?

De extensie SQL Database Projects is een Visual Studio Code-extensie voor het ontwikkelen van SQL-databases in een projectomgeving voor ontwikkeling. Compatibele databases zijn SQL Server, Azure SQL Database, Azure SQL Managed Instance, Warehouse in Fabric en SQL Database in Fabric (preview). Een SQL-project is een lokale weergave van SQL-objecten die deel uitmaken van het schema voor één database, zoals tabellen, opgeslagen procedures of functies. Wanneer een SQL Database-project is gebouwd, is het uitvoerartefact een .dacpac bestand. Nieuwe en bestaande databases kunnen worden bijgewerkt zodat deze overeenkomen met de inhoud van het .dacpac SQL Database-project door het SQL Database-project te publiceren met de extensie SQL Database Projects of door de .dacpacsqlPackage-opdrachtregelinterface te publiceren.

Schermopname van Samenvatting van SQL Database-projecten met predeployment- en post-implementatiescripts, evenals databaseobjecten.

Zie Wat zijn SQL-databaseprojecten voor meer informatie over concepten van SQL-projecten?

Uitbreidingsfuncties

De extensie SQL Database Projects biedt de volgende functies:

  • Maak een nieuw leeg Microsoft.Build.Sql-project.
  • Maak een nieuw project op basis van een verbonden database.
  • Open een project dat eerder is gemaakt in Visual Studio Code of in SQL Server Data Tools.
  • Bewerk een project door objecten (tabellen, weergaven, opgeslagen procedures) of aangepaste scripts in het project toe te voegen of te verwijderen.
  • Bestanden/scripts ordenen in mappen.
  • Voeg verwijzingen toe naar systeemdatabases of een gebruikers-dacpac.
  • Bouw één project.
  • Eén project implementeren.
  • Laad verbindingsdetails (SQL Windows-verificatie) en SQLCMD-variabelen uit het implementatieprofiel.

Install

U kunt de SQL Database Project-extensie installeren in Visual Studio Code.

De SQL Database Projects-extensie wordt geïnstalleerd met de mssql-extensie voor Visual Studio Code.

Afhankelijkheden

De extensie SQL Database Projects is afhankelijk van de .NET SDK (vereist) en AutoRest.Sql (optioneel).

.NET SDK

De .NET SDK is vereist voor projectbuildfunctionaliteit en u wordt gevraagd om de .NET SDK te installeren als een ondersteunde versie niet kan worden gedetecteerd door de extensie. De .NET SDK kan worden gedownload en geïnstalleerd voor Windows, macOS en Linux.

Als u momenteel geïnstalleerde versies van de dotnet SDK wilt controleren, opent u een terminal en voert u de volgende opdracht uit:

dotnet --list-sdks

Nadat u de .NET SDK hebt geïnstalleerd, is uw omgeving klaar om de extensie SQL Database Projects te gebruiken.

Algemene problemen

Nuget.org ontbreekt in de lijst met bronnen, kan dit leiden tot foutberichten zoals:

  • 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

Als u wilt controleren of nuget.org is geregistreerd als bron, voert u deze uit dotnet nuget list source vanaf de opdrachtregel en bekijkt u de resultaten voor een [Enabled] item dat verwijst naar nuget.org. Als nuget.org niet is geregistreerd als bron, voert u het volgende uit dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Niet-ondersteunde .NET SDK-versies kunnen leiden tot foutberichten zoals:

  • 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]_ (waarbij het gekoppelde niet-bestaande bestand een niet-overeenkomende vierkante sluitende haak heeft).

Als u wilt afdwingen dat de extensie SQL Database Projects de v6.x-versie van de .NET SDK gebruikt wanneer er meerdere versies zijn geïnstalleerd, voegt u een global.json-bestand toe aan de map die het SQL-project bevat.

Meer informatie over het oplossen van problemen met de build van SQL-projecten vindt u in Problemen met sql-projectbuild oplossen.

SQLCLR

SQLCLR-objecten in databaseprojecten worden niet ondersteund in Visual Studio Code omdat ze afhankelijk zijn van .NET Framework en de SQL Database Projects-extensie .NET gebruikt om projecten te bouwen.

Werkruimte

SQL-databaseprojecten bevinden zich in een logische werkruimte (map) in Visual Studio Code. Alle SQL-projecten in de mappen die in de huidige werkruimte zijn geopend, zijn standaard beschikbaar in de weergave SQL Database Projects.

U kunt projecten handmatig toevoegen aan en verwijderen uit een werkruimte via de interface in het deelvenster Projecten . De instellingen voor een werkruimte kunnen indien nodig handmatig worden bewerkt in het .code-workspace bestand.

In het volgende voorbeeldbestand .code-workspace bevat de folders matrix alle mappen die zijn opgenomen in het deelvenster Explorer en de dataworkspace.excludedProjects matrix in een lijst met settings alle SQL-projecten die zijn uitgesloten van het deelvenster Projecten .

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