Freigeben über


SQL-Datenbankprojekte-Erweiterung

Von Bedeutung

Azure Data Studio wird am 28. Februar 2026 eingestellt. Es wird empfohlen, Visual Studio Codezu verwenden. Weitere Informationen zum Migrieren zu Visual Studio Code finden Sie unter Was geschieht mit Azure Data Studio?

Die Erweiterung SQL-Datenbankprojekte ist eine Visual Studio Code-Erweiterung für die Entwicklung von SQL-Datenbanken in einer projektbasierten Entwicklungsumgebung. Kompatible Datenbanken umfassen SQL Server, Azure SQL-Datenbank, Azure SQL Managed Instance, Warehouse in Fabric und SQL-Datenbank in Fabric. Ein SQL-Projekt ist eine lokale Darstellung von SQL-Objekten, die das Schema für eine einzelne Datenbank umfassen, z. B. Tabellen, gespeicherte Prozeduren oder Funktionen. Wenn ein SQL-Datenbankprojekt erstellt wird, ist das Ausgabeartefakt eine .dacpac Datei. Neue und vorhandene Datenbanken können aktualisiert werden, um den Inhalt des .dacpac SQL-Datenbankprojekts abzugleichen, indem das SQL-Datenbankprojekt mit der Erweiterung SQL-Datenbankprojekte veröffentlicht wird oder indem .dacpac mit der Schnittstelle SqlPackage-Befehlszeile veröffentlicht wird.

Screenshot der Zusammenfassung von SQL-Datenbankprojekten, die Skripts vor der Bereitstellung und nach der Bereitstellung sowie Datenbankobjekte enthalten.

Weitere Informationen zu SQL-Projektkonzepten finden Sie unter Was sind SQL-Datenbankprojekte?

Erweiterungsfunktionen

Die Erweiterung SQL-Datenbankprojekte bietet die folgenden Funktionen:

  • Erstellen Sie ein neues leeres Microsoft.Build.Sql-Projekt.
  • Erstellen Sie ein neues Projekt aus einer verbundenen Datenbank.
  • Öffnen Sie ein Projekt, das zuvor in Visual Studio Code oder in SQL Server Data Tools erstellt wurde.
  • Bearbeiten Sie ein Projekt, indem Sie Objekte (Tabellen, Ansichten, gespeicherte Prozeduren) oder benutzerdefinierte Skripts im Projekt hinzufügen oder entfernen.
  • Organisieren sie Dateien/Skripts in Ordnern.
  • Fügen Sie Verweise auf Systemdatenbanken oder einen Benutzer dacpac hinzu.
  • Erstellen Sie ein einzelnes Projekt.
  • Stellen Sie ein einzelnes Projekt bereit.
  • Laden Sie die Verbindungsdetails und SQLCMD-Variablen (SQL Windows-Authentifizierung) aus dem Bereitstellungsprofil.

Install

Sie können die SQL-Datenbankprojekterweiterung in Visual Studio Code installieren.

Die Erweiterung SQL-Datenbankprojekte wird mit der Mssql-Erweiterung für Visual Studio Code installiert.

Abhängigkeiten

Die Erweiterung SQL-Datenbankprojekte hat eine Abhängigkeit vom .NET SDK (erforderlich) und AutoRest.Sql (optional).

.NET SDK

Das .NET SDK ist für die Projektbuildfunktionalität erforderlich, und Sie werden aufgefordert, .NET SDK zu installieren, wenn eine unterstützte Version von der Erweiterung nicht erkannt werden kann. Das .NET SDK kann für Windows, macOS und Linux heruntergeladen und installiert werden.

Wenn Sie derzeit installierte Versionen des dotnet SDK überprüfen möchten, öffnen Sie ein Terminal, und führen Sie den folgenden Befehl aus:

dotnet --list-sdks

Nach der Installation des .NET SDK ist Ihre Umgebung bereit, die SQL-Datenbankprojekte-Erweiterung zu verwenden.

Häufig auftretende Probleme

Nuget.org in der Liste der Quellen fehlen, kann zu Fehlermeldungen führen, z. B.:

  • 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

Um zu überprüfen, ob nuget.org als Quelle registriert ist, führen Sie dotnet nuget list source über die Befehlszeile aus, und überprüfen Sie die Ergebnisse für ein [Enabled] Element, das auf nuget.org verweist. Wenn nuget.org nicht als Quelle registriert ist, führen Sie die Ausführung aus dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org.

Nicht unterstützte .NET SDK-Versionen können zu Fehlermeldungen führen, z. B.:

  • 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]_ (wenn die nicht vorhandene Datei eine nicht übereinstimmende abschließende eckige Klammer aufweist).

Wenn Sie erzwingen möchten, dass die SQL-Datenbankprojekte-Erweiterung die v6.x-Version des .NET SDK verwendet, wenn mehrere Versionen installiert sind, fügen Sie dem Ordner, der das SQL-Projekt enthält, eine global.json-Datei hinzu.

Weitere Informationen zur Problembehandlung beim Erstellen von SQL-Projekten finden Sie in der Problembehandlung beim SQL-Projektbuild.

SQLCLR

SQLCLR-Objekte in Datenbankprojekten werden in Visual Studio Code nicht unterstützt, da sie auf .NET Framework basieren und die SQL-Datenbankprojekteerweiterung .NET zum Erstellen von Projekten verwendet.

Arbeitsbereich

SQL-Datenbankprojekte sind in einem logischen Arbeitsbereich (Ordner) in Visual Studio Code enthalten. Alle SQL-Projekte in den ordnern, die im aktuellen Arbeitsbereich geöffnet sind, sind standardmäßig in der Ansicht "SQL-Datenbankprojekte" verfügbar.

Sie können Projekte manuell über die Benutzeroberfläche im Bereich Projekte hinzufügen und aus einem Arbeitsbereich entfernen. Die Einstellungen für einen Arbeitsbereich können bei Bedarf manuell in der .code-workspace Datei bearbeitet werden.

In der folgenden Beispieldatei .code-workspace listet das folders Array alle Ordner auf, die im Explorer-Bereich enthalten sind, und das dataworkspace.excludedProjects Array in settings listen alle SQL-Projekte, die aus dem Bereich "Projekte " ausgeschlossen sind.

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