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 Sie ein SQL-Datenbankprojekt erstellen, erstellen Sie eine .dacpac Datei. Sie können neue und vorhandene Datenbanken so aktualisieren, dass sie mit dem Inhalt des .dacpac SQL-Datenbankprojekts übereinstimmen, indem Sie das SQL-Datenbankprojekt mit der Sql Database Projects-Erweiterung veröffentlichen oder die .dacpacSqlPackage-Befehlszeilenschnittstelle veröffentlichen.

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 und 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 hängt von .NET SDK (erforderlich) und AutoRest.Sql (optional) ab.

.NET SDK

Für die Erweiterung ist das .NET SDK für Projektbuildfunktionen erforderlich. Wenn die Erweiterung keine unterstützte Version erkennen kann, werden Sie aufgefordert, das .NET SDK zu installieren. Sie können das .NET SDK für Windows, macOS und Linux herunterladen und installieren.

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

dotnet --list-sdks

Nachdem Sie das .NET SDK installiert haben, ist Ihre Umgebung bereit, um die Erweiterung für SQL-Datenbankprojekte zu verwenden.

Häufig auftretende Probleme

  • Fehlende nuget.org aus der Liste der Quellen können 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).

    Sie können die SQL-Datenbankprojekte-Erweiterung erzwingen, die v6.x-Version des .NET SDK zu verwenden, wenn mehrere Versionen installiert sind. Fügen Sie dazu dem Ordner, der das SQL-Projekt enthält, eine global.json Datei hinzu.

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

SQLCLR

Visual Studio Code unterstützt sqlCLR-Objekte in Datenbankprojekten nicht, da diese Objekte 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. Standardmäßig können Sie auf alle SQL-Projekte in den Ordnern zugreifen, die im aktuellen Arbeitsbereich in der Ansicht "SQL-Datenbankprojekte " geöffnet sind.

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

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

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