Tools von SQL-Projekten
Tools für SQL-Projekte stehen in mehreren Entwicklungsumgebungen und Befehlszeilenschnittstellen zur Verfügung. Die primären Tools für SQL-Projekte sind das Befehlszeilen-Hilfsprogram SqlPackage, SQL Server Data Tools (SSDT) in Visual Studio und die SQL-Datenbank Projects-Erweiterung für Azure Data Studio und Visual Studio Code.
Grafische Tools
Diese Tools bieten eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess.
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.
Die Erweiterung SQL-Datenbankprojekte ist eine Erweiterung für Azure Data Studio (ADS) und VS Code. Diese Erweiterung bietet eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess.
Vergleich der Feature-Sets
Funktion | SSDT im SDK-Stil | SSDT | ADS | VS-Code |
---|---|---|---|---|
Erstellen eines neuen leeren Projekts | X | X | X | X |
Neues Projekt aus bestehender Datenbank erstellen | X | X | X | |
Öffnen vorhandener Microsoft.Build.Sql-Projekte | X1 | X | X | |
Lösungsverwaltung und -vorgänge | X | X | ||
Projektausführung Build | X | X | X | X |
Veröffentlichen eines Projektes auf einen vorhandenen Server | X | X | X | X |
Veröffentlichen eines Projekts in einer lokalen Entwicklungsinstanz | X2 | X2 | X3 | X3 |
Veröffentlichungsoptionen/Eigenschaften | X | X | X | |
Zielplattform kann aktualisiert werden | X | X | X | X |
SQLCMD-Variablen | X | X | X | X |
Projektverweise | X | X | ||
Dacpac-Verweise | X | X | X | |
Paketverweise | X | |||
Veröffentlichen einer Profilerstellung | X | X | X | |
SQL-Dateien können hinzugefügt werden, indem sie im Projektordner platziert werden | X | X | X | |
SQL-Dateien können vom Build ausgeschlossen werden | X | X | ||
Skripts vor oder nach der Bereitstellung | X | X | X | X |
Neue Objektvorlage | X4 | X | X4 | X4 |
Projektdateien können in Ordnern organisiert werden | X | X | X | X |
Schemavergleich Projekt mit Datenbank | X | X | ||
Schemavergleich Datenbank mit Projekt | X | X | ||
Grafischer Tabellen-Designer | X | X | ||
Codeanalyse – Aktivieren/Deaktivieren von Regeln | X | |||
Projekteigenschaften – Build-Ausgabeeinstellungen | X | X | ||
Projekteigenschaften – Standardschema | X | |||
Projekteigenschaften – Datenbankeinstellungen | X | |||
Eigenständige Codeanalyse der Projektausführung | X | |||
Umbenennen und Umgestalten von Objekten | X | |||
IntelliSense in Datenbankdateien aus dem Projektmodell bereitgestellt | X | |||
SQL Server-Objekt-Explorer-Konnektivitäts-/Ansichtsobjekte | X | X | X | X |
Kontextmenüelement SQL Server-Objekt-Explorer | X | X | X | |
SQL Server-Abfrage-Editor-Konnektivität | X | X | X |
- In Visual Studio 2022 Vorschau 2 verwenden SDK-Projekte die
.sqlprojx
-Erweiterung anstelle von.sqlproj
. - Lokale Entwicklungsinstanz ist eine SQL Server LocalDB-Instanz.
- Die lokale Entwicklungsinstanz ist ein SQL Server-Container.
- 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.
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:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/GoEddie/DeploymentContributorFilterer
Zugehöriger Inhalt
- Projektorientierte Offlinedatenbankentwicklung
- SQL Database Projects-Erweiterung
- SqlPackage
- GitHub sql-action
- Azure DevOps SQL-Bereitstellungen
- Datenebenenanwendungen (DAC)
- DacFx-Feedback-Repository
- Erste Schritte mit SQL-Datenbankprojekten
- Lernprogramm: Erstellen und Bereitstellen eines SQL-Projekts