Freigeben über


Tools für SQL-Projekte

Tools für SQL-Projekte stehen in mehreren Entwicklungsumgebungen und Befehlszeilenschnittstellen zur Verfügung. Die primären Tools für SQL-Projekte sind das Befehlszeilenprogramm SqlPackage , SQL Server Data Tools (SSDT) in Visual Studio und die SQL-Datenbankprojekteerweiterung für Visual Studio Code.

In diesem Artikel enthaltene Tools:

Grafische Tools

Diese Tools bieten eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess.

Die Erweiterung SQL-Datenbankprojekte ist eine Erweiterung für VS Code. Diese Erweiterung bietet eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess. Die Erweiterung ist auch in Azure Data Studio mit der gleichen Funktionalität verfügbar.

SQL Server Data Tools (SSDT) ist eine Visual Studio-Komponente, die eine grafische Schnittstelle für SQL-Projekte bereitstellt. SSDT bietet einen visuellen Designer für Tabellen, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess.

Vergleich der Feature-Sets

Funktion VS-Code SSDT (VS2022-2026) SSDT im SDK-Stil, Vorschau (VS2022)
Erstellen eines neuen leeren Projekts Yes Yes Yes
Neues Projekt aus bestehender Datenbank erstellen Yes Yes Yes
Öffnen vorhandener Microsoft.Build.Sql-Projekte Yes Nein Yes
Lösungsverwaltung und -vorgänge Nein Yes Yes
Projektausführung Build Yes Yes Yes
Veröffentlichen eines Projektes auf einen vorhandenen Server Yes Yes Yes
Veröffentlichen eines Projekts in einer lokalen Entwicklungsinstanz Ja1 Ja2 Ja2
Veröffentlichungsoptionen/Eigenschaften Yes Yes Yes
Zielplattform kann aktualisiert werden Yes Yes Yes
SQLCMD-Variablen Yes Yes Yes
Projektverweise Yes Yes Yes
Dacpac-Verweise Yes Yes Yes
Paketverweise Yes Nein Nein
Veröffentlichen einer Profilerstellung Yes Yes Yes
SQL-Dateien können hinzugefügt werden, indem sie im Projektordner platziert werden Yes Nein Yes
SQL-Dateien können vom Build ausgeschlossen werden Yes Yes Nein
Skripts vor oder nach der Bereitstellung Yes Yes Yes
Neue Objektvorlage Ja3 Yes Ja3
Projektdateien können in Ordnern organisiert werden Yes Yes Yes
Schemavergleich Projekt mit Datenbank Yes Yes Yes
Schemavergleich Datenbank mit Projekt Yes Yes Nein
Grafischer Tabellen-Designer Nein Yes Yes
Codeanalyse – GUI für Regeln ein-/ausschalten Nein Yes Nein
Projekteigenschaften – Build-Ausgabeeinstellungen Nein Yes Yes
Projekteigenschaften – GUI für Datenbankeinstellungen Nein Yes Nein
Projektausführungscodeanalyse Yes Yes Nein
Umbenennen und Umgestalten von Objekten Nein Yes Nein
IntelliSense in Datenbankdateien aus dem Projektmodell bereitgestellt Nein Yes Nein
  1. Die lokale Entwicklungsinstanz ist ein SQL Server-Container.
  2. Lokale Entwicklungsinstanz ist eine SQL Server LocalDB-Instanz.
  3. Begrenzte Teilmenge der verfügbaren Vorlagen

Befehlszeilentools

SqlPackage ist das primäre Befehlszeilenprogramm für die DacFx-Bibliothek, das die Automatisierung der Datenbankentwicklungsaufgaben ermöglicht, z. B. das Bereitstellen einer .dacpac-Datei in einer Datenbank oder das Extrahieren der Objekte einer Datenbank in ein SQL-Projekt oder eine .dacpac-Datei.

Benutzerdefinierte Konsolenanwendungen können mithilfe der DacFx .NET-Bibliothek erstellt werden, um Datenbankentwicklungsaufgaben zu automatisieren. Der Microsoft.SqlServer.Dac-Namespace enthält Klassen zum Erstellen, Bereitstellen und Extrahieren von Datenbankobjekten und ist für den Rest der DacFx-Bibliothek von grundlegender Bedeutung.

CI/CD-Pipelines können mit der Befehlszeilenausführung oder aufgabenspezifisch für .dacpac und Bereitstellung von SQL-Projekten erstellt werden. Die GitHub sql-action und SqlAzureDacpacDeployment in Azure DevOps sind Beispiele für Aufgaben, die SqlPackage unter einer Verwaltungsebene verwendet, um die Bereitstellung von Datenbankänderungen zu erleichtern.

Konvertierungstools

Der Prozess zum Konvertieren eines vorhandenen SQL-Projekts in ein SDK-Format wird durchgeführt, indem die .sqlproj Datei manuell bearbeitet wird, um das neue SDK-Format einzuschließen. Bevor Sie mit dem Prozess beginnen, empfiehlt es sich, die Projektdatei zu sichern und ein .dacpac Projekt zu archivieren. Durch den Vergleich einer „Before“- und einer „After“-Version, die aus dem Projekt erstellt wurden, können Sie sicherstellen, dass der Konvertierungsprozess ordnungsgemäß abgeschlossen ist.

Projekt-/Lösungsmanagement

Mehrere SQL-Projekte (und andere Projekte) können in einer Lösungsdatei logisch gruppiert werden. Die Lösungsdatei ist ein Container für ein oder mehrere Projekte und wird verwendet, um die Projekte als Gruppe zu verwalten, einschließlich der Buildaktion. Große Lösungen können in kleinere Lösungen unterteilt werden, um die Leistung und Verwaltbarkeit zu verbessern oder dynamisch für die entsprechende Aufgabe zu generieren. Der Slngen-Lösungsdatei-Generator ist für Microsoft.Build.Sql-Projekte verfügbar und kann verwendet werden, um eine Lösungsdatei für eine Reihe von Projekten programmgesteuert und bei Bedarf zu erstellen.

Tools von Drittanbietern

Es stehen Tools von Drittanbietern zur Verfügung, die Funktionen im Zusammenhang mit SQL-Projekten und der Datenbankbereitstellung bereitstellen. Einige Tools sind Open Source, z. B. dbatools.

Entwickler haben ihre Projekte mithilfe von Erweiterungspunkten für SQL-Projekte geteilt, einschließlich Codeanalyse-Regeln und Anpassen von Bereitstellungsplänen. Einige dieser Projekte sind: