SQL Database Projects-Erweiterung (Vorschau)
Die Erweiterung für SQL-Datenbankprojekte, „SQL Database Projects“ (Vorschau), ist eine Azure Data Studio- und Visual Studio Code-Erweiterung für die Entwicklung von SQL-Datenbanken für SQL Server, Azure SQL-Datenbank und Azure SQL Managed Instance in einer projektbasierten Entwicklungsumgebung. Ein SQL-Projekt ist eine lokale Darstellung von SQL-Objekten, die das Schema einer einzelnen Datenbank umfassen, z. B. Tabellen, gespeicherte Prozeduren oder Funktionen.
Erweiterungsfeatures
Die SQL Database Projects-Erweiterung stellt die folgenden Features bereit:
- Erstellen eines neuen leeren Projekts.
- Erstellen Sie ein neues Projekt aus einer verbundenen Datenbank oder aus einer OpenAPI-Spezifikationsdatei.
- Ö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.
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:
Ö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.
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.
Wählen Sie die gewünschte Erweiterung aus, und installieren Sie diese.
Klicken Sie auf Erneut laden, um die Erweiterung zu aktivieren (nur bei der Erstinstallation einer Erweiterung erforderlich).
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 SQL Database Project-Erweiterung verfügt über eine Abhängigkeit vom .NET Core SDK und AutoRest.Sql
.NET Core SDK
Das .NET Core SDK ist für die Buildfunktion des Projekts erforderlich, und Sie werden zur Installation des SDK aufgefordert, wenn eine unterstützte Version von der Erweiterung nicht gefunden wird. Das .NET Core 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
Um zu erzwingen, dass die SQL Database Projects-Erweiterung die v6.1.x-Version des .NET Core SDK verwendet, wenn mehrere Versionen installiert sind, fügen Sie dem Ordner eine Datei package.json hinzu, der das SQL-Projekt enthält.
Nicht unterstützte .NET Core SDK-Versionen können zu Fehlermeldungen führen, wie 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]_
(wobei die verknüpfte nicht vorhandene Datei eine nicht übereinstimmende schließende eckige Klammer aufweist)
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:
- Das Laden von Dateien als Link wird in Azure Data Studio derzeit nicht unterstützt. Die Dateien werden aber auf oberster Ebene der Struktur geladen und beim Kompilieren wie erwartet einbezogen.
- SQLCLR-Objekte im Projekt werden in der .NET Core-Version von DacFx nicht unterstützt.
- Tasks (Kompilieren/Veröffentlichen) sind nicht benutzerdefiniert.
- Veröffentlichen von Zielen, die von DacFx definiert wurden.
- Die Unterstützung für die WSL-Umgebung ist eingeschränkt.
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 unten veranschaulichten .code-workspace
-Beispieldatei führt das folders
-Array alle im Bereich „Explorer“ enthaltenen Ordner auf, und das dataworkspace.excludedProjects
-Array in settings
führt alle im Bereich Projekte enthaltenen SQL-Projekte auf.
{
"folders": [
{
"path": "."
},
{
"name": "WideWorldImportersDW",
"path": "..\\WideWorldImportersDW"
}
],
"settings": {
"dataworkspace.excludedProjects": [
"AdventureWorksLT.sqlproj"
]
}
}