Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 Erweiterung SQL-Datenbankprojekte für Visual Studio Code.
In diesem Artikel enthaltene Tools:
Grafische Tools
Diese Tools bieten eine grafische Schnittstelle für SQL-Projekte, einen Transact-SQL -Editor (T-SQL) und einen Build- und Veröffentlichungsprozess.
SQL-Datenbankprojekteerweiterung ist eine Erweiterung für Visual Studio Code. Diese Erweiterung bietet eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess.
Database DevOps in SQL Server Management Studio (SSMS) stellt eine grafische Schnittstelle für SQL-Projekte, einen T-SQL-Editor und einen Build- und Veröffentlichungsprozess bereit.
SQL Server Data Tools (SSDT) ist eine komponente Visual Studio, 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
| Merkmal | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT im SDK-Stil (Vorschau) (VS2022) |
|---|---|---|---|---|
| Erstellen eines neuen leeren Projekts | Yes | Yes | Yes | Yes |
| Neues Projekt aus bestehender Datenbank erstellen | Yes | Yes | Yes | Yes |
| Öffnen Sie vorhandene Microsoft. Build.Sql-Projekte | Yes | Yes | Nein | Yes |
| Open Original-Style (SSDT)-Projekte | Yes | Nein | Yes | Nein |
| Lösungsverwaltung und -vorgänge | Nein | Yes | Yes | Yes |
| Project Build ausführen | Yes | Yes | Yes | Yes |
| Veröffentlichen eines Projektes auf einen vorhandenen Server | Yes | Yes | Yes | Yes |
| Projekt in einer lokalen Entwicklungsinstanz veröffentlichen | Ja1 | Ja2 | Ja3 | Ja3 |
| Optionen/Eigenschaften für die Veröffentlichung | Yes | Yes | Yes | Yes |
| Zielplattform kann aktualisiert werden | Yes | Yes | Yes | Yes |
| SQLCMD-Variablen | Yes | Yes | Yes | Yes |
| Projektverweise | Yes | Yes | Yes | Yes |
| DACPAC-Referenzen | Yes | Yes | Yes | Yes |
| Paketverweise | Yes | Yes | Nein | Nein |
| Veröffentlichen einer Profilerstellung | Yes | Nein | Yes | Yes |
| SQL-Dateien können hinzugefügt werden, indem sie im Projektordner platziert werden | Yes | Yes | Nein | Yes |
| SQL-Dateien können vom Build ausgeschlossen werden | Yes | Yes | Yes | Nein |
| Skripts vor der Bereitstellung und nach der Bereitstellung | Yes | Yes | Yes | Yes |
| Neue Objektvorlagen | Ja4 | Yes | Yes | Ja4 |
| Project Dateien können in Ordnern organisiert werden | Yes | Yes | Yes | Yes |
| Schemavergleich-Projekt zur Datenbank | Yes | Nein | Yes | Yes |
| Schemavergleich Datenbank mit Projektvergleich | Yes | Nein | Yes | Nein |
| Grafischer Tabellen-Designer | Nein | Nein | Yes | Yes |
| Codeanalyse – Guide für Regeln aktivieren/deaktivieren | Yes | Yes | Yes | Nein |
| Project-Eigenschaften - Buildausgabeeinstellungen | Nein | Nein | Yes | Yes |
| Projekt-Eigenschaften – GUI der Datenbankeinstellung | Nein | Nein | Yes | Nein |
| Projekt Codeanalyse ausführen | Yes | Yes | Yes | Nein |
| Umbenennen und Umgestalten von Objekten | Nein | Nein | Yes | Nein |
| IntelliSense wird in Datenbankdateien aus dem Projektmodell bereitgestellt. | Nein | Nein | Yes | Nein |
1 Lokale Entwicklungsinstanz ist ein SQL Server-Container.
2 Jede vorinstallierte Microsoft SQL-Datenbank kann als lokale Entwicklungsinstanz verwendet werden.
3 Lokale Entwicklungsinstanz ist eine SQL Server LocalDB-Instanz.
4 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 bildet die Grundlage für die DacFx-Bibliothek.
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 Verwaltungsschicht verwenden, 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/Solution-Management
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 steht für Microsoft zur Verfügung. Build.Sql-Projekte und können verwendet werden, um eine Lösungsdatei für eine Reihe von Projekten programmgesteuert und bei Bedarf zu erstellen.
Fahrplan
Ein vierteljährlicher Fahrplan für SQL-Projekte bezogene Fähigkeiten steht unter https://aka.ms/sqlprojects-roadmap zur Verfügung. Kundenfeedback beeinflusst stark die Roadmap, die sowohl die Modernisierung der Funktionen von Microsoft.Build.Sql-Projekten als auch Verbesserungen an den mit SQL-Projekten verbundenen Tooloberflächen umfasst.
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 präsentiert, 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/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer
Zugehöriger Inhalt
- Project-orientierte 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