Herkömmliche Datenbankentwicklung in SQL Server
Datenbankentwicklung in SQL Server ist eigentlich recht einfach.
Bei Bedarf werden neue Tabellen, Sichten, Gespeicherte Prozeduren, Funktionen und Trigger angelegt, geändert oder auch gelöscht. Die Änderungen erfolgen also direkt in der Datenbank.
Soweit kein Problem.
Problematisch wird es erst, wenn alle Änderungen vom Entwicklungssystem in das Produktivsystem übertragen werden sollen.
Nun lässt sich zwar für jedes neu erstellte, geänderte oder gelöschte Datenbankobjekt ein Skript erstellen, das diese Änderungen in der produktiven Datenbank ausführt. Bei vielen Änderungen ist es aber gar nicht so einfach, hier noch den Überblick zu behalten. Erst recht nicht, wenn mehrere Entwickler im Team arbeiten.
Datenbankentwicklung mit SQL Server Data Tools
Mit den SQL Server Data Tools – kurz SSDT – arbeiten Sie projektorientiert.
Ein Datenbankprojekt besteht aus einzelnen Skriptdateien. Dabei beschreibt jede Skriptdatei genau ein Datenbankobjekt. Alle Änderungen in Ihrer Datenbank finden ausschließlich in diesen Skripten statt.
Haben Sie alle Ihre Änderungen abgeschlossen, liefern Sie diese einfach in die Produktivumgebung aus. Für dieses Deployment stehen Ihnen in SSDT mit dem Schemavergleich, dem Veröffentlichen, dem SQL-Skript und dem dacpac gleich vier verschiedene Möglichkeiten zur Verfügung.
Das umständliche Hantieren mit eigens erstellten Skripten und der Dokumentation der Änderungen ist hiermit hinfällig.
Moderne Entwicklungsmöglichkeiten
Eingebettet in Visual Studio bieten die SQL Server Data Tools moderne Entwicklungsmöglichkeiten, wie die Aufnahme des Datenbankprojekts in eine Quellcodeverwaltung, das Debugging von Gespeicherten Prozeduren, Triggern und Funktionen, wie auch Refactoring und Codeanalyse.
Refactoring unterstützt Sie u. a. beim Umbenennen von Objekten. Dabei erfolgt das Umbenennen wie auch das Ersetzen des alten Namens mit der neuen Bezeichnung im gesamten Quellcode des Datenbankprojekts in einem Schritt.
In der Codeanalayse legen Sie Codierungsregeln fest, mit denen Sie die Qualität Ihres Quellcodes verbessern. Zum Beispiel können Sie dort für Typsicherheit sorgen oder Sie verhindern, dass in Ihrer Datenbank Anweisungen mit SELECT * verwendet werden.
Apropos SELECT * – mit wenigen Klicks ersetzen Sie das Sternchen auf einen Schlag für das gesamte Datenbankprojekt mit den tatsächlichen Spalten.
Es gibt noch viele weitere nützliche Funktionen, wie automatisierte Tests der Datenbankintegrität und der Programmlogik in Gespeicherten Prozeduren und Triggern oder der Datenabgleich, der u. a. Abweichungen in zwei Datenbeständen ermittelt sowie der Schemavergleich, der die Unterschiede in den Strukturen zweier Datenbanken darstellt. Auch sollte noch die SQL Server Local DB erwähnt sein, steht mit ihr doch jedem Entwickler eine eigene lokale SQL Server-Instanz zur Verfügung, in der sich die Funktionalität des Datenbankprojekts testen lässt.
Erfahrungen
Die SQL Server Data Tools lernte ich mit SQL Server 2012 kennen. Mit dieser Version waren sie das erste Mal als eigenständige Entwicklungsumgebung verfügbar. Seitdem setze ich die SQL Server Data Tools für meine eigenen Entwicklungen konsequent ein.
Das erste Kundenprojekt mit SSDT fand 2013 statt. Wie bei den SQL Server Reporting Services war es auch bei den SQL Server Data Tools erst einmal erforderlich, die Kunden von den Vorteilen zu überzeugen.
Inzwischen konnte ich bei vielen meiner Kunden die SQL Server Data Tools als Entwicklungsumgebung für Datenbanken etablieren und realisiere somit ca. 90% meiner Datenbankprojekte mit SSDT.
In einigen Projekten stand ich als Berater und Trainer bei der Etablierung der SQL Server Data Tools als Entwicklungsumgebung zur Seite, bei anderen wiederum half ich aktiv bei der Neu- und Weiterentwicklung von Datenbankprojekten mit oder übernahm diese komplett als Auftragsarbeit.
Vorträge und Seminare
Bei der SQL Server und .NET Entwickler-Konferenz – kurz SNEK – habe ich bereits 2012 die Preview der SQL Server Data Tools vorgestellt. 2015 folgte der nächste Vortrag, der meine bis dahin gesammelten Erfahrungen mit den SQL Server Data Tools zeigte. Diesen Vortrag habe ich seitdem auch bei einigen Regionalgruppentreffen der PASS gehalten.
Das 1-tägige Seminar SQL Server Data Tools zeigt anhand vieler Beispiele und Übungsaufgaben den Weg eines Datenbankprojekts von der Entwicklung über den Test bis hin zur Bereitstellung ins Produktivsystem. Wie alle meine Seminare basiert auch dieses Seminar auf meinen Erfahrungen und beinhaltet viele Praxistipps und Hinweise auf diverse Fallstricke.
Eine leicht verkürzte Version dieses Seminars gibt es im Rahmen der PASS Essentials. Diese ebenfalls 1-tägige Veranstaltung unterscheidet sich kaum vom Seminar. Es fehlt lediglich der Part der Komponententests.
Projektbegleitung und -unterstützung
Gerne zeige ich Ihnen die Vorteile der SQL Server Data Tools und helfe Ihnen diese als Entwicklungsumgebung in Ihrem Unternehmen zu etablieren.
Selbstverständlich stehe ich Ihnen auch bei Ihren Datenbankentwicklungen als Berater und Trainer zur Verfügung, begleite Sie bei Ihrem Datenbankprojekt und unterstütze Sie aktiv bei der Neu- und Weiterentwicklung Ihrer Datenbanken.