SQL Database Projects-Erweiterung

Die Erweiterung „SQL-Datenbank-Projekte“ ist eine Azure Data Studio- und Visual Studio Code-Erweiterung für die Entwicklung von SQL-Datenbanken in einer projektbasierten Entwicklungsumgebung. Zu den kompatiblen Datenbanken gehören SQL Server, Azure SQL-Datenbank, Azure SQL Managed Instance und Azure Synapse SQL. Ein SQL-Projekt ist eine lokale Darstellung von SQL-Objekten, die das Schema einer einzelnen Datenbank umfassen, z. B. Tabellen, gespeicherte Prozeduren oder Funktionen. Wenn ein SQL-Datenbank-Projekt erstellt wird, ist das Ausgabeartefakt eine DACPAC-Datei. Neue und vorhandene Datenbanken können so aktualisiert werden, dass sie mit dem Inhalt der DACPAC-Datei übereinstimmen, indem das SQL-Datenbank-Projekt mit der Erweiterung „SQL-Datenbank-Projekte“ oder die DACPAC-Datei mit der Befehlszeilenschnittstelle SqlPackage veröffentlicht wird.

Summary of SQL Database Projects containing pre-deployment and post-deployment scripts as well as database objects.

Erweiterungsfeatures

Die SQL Database Projects-Erweiterung stellt die folgenden Features bereit:

  • Erstellen eines neuen leeren Projekts.
  • Erstellen eines Projekts aus einer verbundenen Datenbank
  • Öffnen eines Projekts, das zuvor in Azure Data Studio, Visual Studio Code oder SQL Server Data Tools erstellt wurde
  • Bearbeiten eines Projekts durch Hinzufügen oder Entfernen von Objekten (Tabellen, Ansichten, gespeicherten Prozeduren) oder benutzerdefinierten Skripts zum oder aus dem Projekt
  • Organisieren von Dateien oder Skripts in Ordnern.
  • Hinzufügen von Verweisen auf Systemdatenbanken oder DACPAC-Benutzerdateien
  • Erstellen eines einzelnen Projekts
  • Bereitstellen eines einzelnen Projekts
  • Laden von Verbindungsdetails (SQL-Windows-Authentifizierung) und SQLCMD-Variablen aus einem Bereitstellungsprofil.

Die folgenden Features in der Erweiterung „SQL-Datenbank-Projekte“ befinden sich derzeit in der Vorschauphase:

In diesem kurzen 10-minütigen Video erhalten Sie eine Einführung in die Erweiterung für SQL-Datenbank-Projekte in Azure Data Studio:

Installieren

Sie können die SQL Database Project-Erweiterung in Azure Data Studio und Visual Studio Code installieren.

Azure Data Studio

Führen Sie die folgenden Schritte aus, um die SQL Database Project-Erweiterung in Azure Data Studio zu installieren:

  1. Öffnen Sie den Erweiterungs-Manager, um auf die verfügbaren Erweiterungen zuzugreifen. Klicken Sie dazu entweder auf das Erweiterungssymbol, oder wählen Sie im Menü Ansicht die Option Erweiterungen aus.

  2. Suchen Sie die Erweiterung SQL Database Projects, indem Sie deren Namen ganz oder teilweise in das Suchfeld für Erweiterungen eingeben. Wählen Sie eine verfügbare Erweiterung aus, um deren Details anzuzeigen.

    Screenshot of Azure Data Studio, Install extension.

  3. Wählen Sie die gewünschte Erweiterung aus, und installieren Sie diese.

  4. Klicken Sie auf Erneut laden, um die Erweiterung zu aktivieren (nur bei der Erstinstallation einer Erweiterung erforderlich).

  5. Wählen Sie das Symbol Projekte in der Aktivitätsleiste aus.

Hinweis

  • Für die Nutzung des vollen Funktionsumfangs wird empfohlen, die Erweiterung „Schemavergleich“ zusammen mit der Erweiterung „SQL Database Projects“ zu installieren.

Visual Studio Code

Die SQL Database Projects-Erweiterung wird mit der mssql-Erweiterung für Visual Studio Code installiert.

Abhängigkeiten

Die Erweiterung „SQL-Datenbank-Projekte“ verfügt über Abhängigkeiten vom .NET SDK (erforderlich) und von „AutoRest.Sql“ (optional).

.NET SDK

Das .NET SDK ist für die Buildfunktion des Projekts erforderlich, und Sie werden zur Installation des .NET SDK aufgefordert, wenn keine unterstützte Version der Erweiterung gefunden wird. Das .NET SDK kann für Windows, macOS und Linux heruntergeladen und installiert werden.

Wenn Sie die derzeit installierten Versionen des .NET 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 Erweiterung „SQL-Datenbank-Projekte“ zu verwenden.

Häufige Probleme

Wenn nuget.org in der Liste der Quellen fehlt, können z. B. die folgenden Fehlermeldungen auftreten:

  • 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 dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org aus.

Nicht unterstützte .NET SDK-Versionen können z. B. folgende Fehlermeldungen auslösen:

  • 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]_ (wobei die verknüpfte nicht vorhandene Datei eine nicht übereinstimmende schließende eckige Klammer aufweist)

Um zu erzwingen, dass die Erweiterung „SQL-Datenbank-Projekte“ die Version 6.x des .NET SDK verwendet, wenn mehrere Versionen installiert sind, fügen Sie dem Ordner, der das SQL-Projekt enthält, eine Datei global.json hinzu.

AutoRest.Sql

Die SQL-Erweiterung für AutoRest wird automatisch heruntergeladen und von der SQL Database Projects-Erweiterung verwendet, wenn ein SQL-Projekt aus einer OpenAPI-Spezifikationsdatei generiert wird.

Einschränkungen

Derzeit verfügt die SQL Database Project-Erweiterung über die folgenden Einschränkungen:

  • Tasks (Kompilieren/Veröffentlichen) sind nicht benutzerdefiniert.
  • SQLCLR-Objekte in Projekten werden nicht unterstützt.
  • Codeanalyseregeln für Projekte werden derzeit nicht unterstützt.

Arbeitsbereich

SQL-Datenbank-Projekte befinden sich in einem logischen Arbeitsbereich in Azure Data Studio und Visual Studio Code. Ein Arbeitsbereich verwaltet den bzw. die Ordner, die im Explorer-Bereich angezeigt werden. Alle SQL-Projekte in den Ordnern, die im aktuellen Arbeitsbereich geöffnet sind, sind standardmäßig in der Ansicht für die SQL Database Projects-Erweiterung verfügbar.

Sie können Projekte manuell über die Schnittstelle im Bereich Projekte aus einem Arbeitsbereich hinzufügen und entfernen. Bei Bedarf können die Einstellungen eines Arbeitsbereichs auch manuell in der .code-workspace-Datei bearbeitet werden.

In der folgenden .code-workspace-Beispieldatei führt das folders-Array alle im Explorer-Bereich enthaltenen Ordner auf, und das dataworkspace.excludedProjects-Array in settings führt alle aus dem Bereich Projekte ausgeschlossenen SQL-Projekte auf.

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

Nächste Schritte