Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools David Schäfer Veranstalter: Vorstellung: HMS Analytical Software Anwendungs-Know-how, u.a. Banken und Versicherungen Pharma- und Medizinprodukte Technologie-Know-how, u.a. Analytics: Microsoft Business Intelligence, SAS, R Anwendungsentwicklung: Microsoft .NET und Java Methoden-Know-how, u.a. Business Intelligence Data Warehousing Software Engineering Veranstalter: Veranstalter: Agenda Einführung: Warum? Entwicklung mit SQL Data Tools Continous Integration Möglichkeiten Deployment Weiterentwicklung bestehender Datenbanken Veranstalter: Einführung: Problemstellung Softwaresysteme (und deren Entwicklung) werden immer komplexer Prominente Probleme bei der Entwicklung sind mangelnde Qualität unvollständige Umsetzung der Anforderungen fehlende Termintreue Budgetüberschreitungen mangelnde Wart- und Erweiterbarkeit Veranstalter: Werkzeuge der Softwareentwicklung im Überblick und Zusammenhang Veranstalter: Kompilierung CI-Server Testdurchführung Versionsverwaltung Holt Codeänderungen Berechnung von Metriken Integration Erstellung der Dokumentation Setup Web-Server Holt/überträgt Codeänderungen Veröffentlichung der Ergebnisse Feedback tool Detaillierte Ergebnisse und Reports Holt/überträgt Codeänderungen Feedback tool Entwickler 1 Entwickler 2 Veranstalter: DB Entwicklung Herausforderungen Wie setzt man schnell eine Entwicklungsumgebung auf? Wie versioniert man die Datenbank? Wie testet man die Datenbank? Wie aktualisiert man bestehende Datenbanken? Veranstalter: SQL Server DataTools (SSDT) Integriert in Visual Studio Schneller Start der Entwicklung Vielfältige Möglichkeiten & Unterstützung: Intellisense Debugging Unit Tests kostenfrei Veranstalter: SSDT: Hilfestellungen Code Analyse SQL Server Objekt Explorer ( Entwickler benötigt kein SQL Server Management Studio mehr) Verschiedene Zielplattformen möglich Veranstalter: SSDT: Entwicklungsmodel SQL Server Data Tools LocalDB Tabellen Func & Procs Views F5: deployment … Tabellen Views Func & Procs … Debugging DacPacs Deployment Auslesen Definition SQL Server Tabellen Views Func & Procs … Veranstalter: SQL Express LocalDB Datenbank startet und stoppt bei Bedarf Läuft als eigenständiger Prozess Basiert auf SQL Express (gleiche EXE) Nachfolger von SQL Compact SQL Server Compact SQL Express LocalDB DLL Eigenständiger Prozess 4MB (binaries) 140MB (Installation) Basis RDBMS Funktionalität Mehr Funktionen: • Stored Procedures • Geometry & Geography Datentypen Veranstalter: SSDT: Demo I Projekt auf der grünen Wiese Debuggen von Funktionen Unit Tests Statische Daten Veranstalter: Continuous Integration: Möglichkeiten Integration in Team Foundation Server möglich Build, Deployment und Test über Kommandozeile möglich Einbindung in andere CI Server gegeben Veranstalter: Automatisierung: Parametrisierung Variablen auf Projektebene Zugriff über Publish Profile Zugriff über msbuild möglich Veranstalter: SSDT: Demo II Build von DacPac via msbuild Ausführung der Unit Test via mstest Veranstalter: Data-Tier Application Austausch Container zwischen Entwickler und DBA Framework für Erkennung von notwendigen Änderungen Integrierter Versionsmechanismus Veranstalter: Data-Tier Application (DAC): Terminologie Dac: Name der Technologie DacFx: Name für Framework (DLLs) DacPac: Kontainerdatei (ähnlich ZIP), die das Schema enthält BacPac: Kontainerdatei, die Schema und Daten enthält Veranstalter: Dac Werkzeuge GUI Werkzeuge: SQL Server Management Studio SQL Data Tools Kommandozeilen Werkzeuge Power Shell SQLPackage.exe .Net API Veranstalter: SSDT: Demo III DacPac Deployment DacPac Upgrade Veranstalter: SSDT: bestehende Projekte Unterstützung für bereits bestehende Projekte vorhanden: Projekt auf Basis von DB starten Bearbeitung der DB über SQL Server-Objekt-Explorer Veranstalter: SSDT: Vergleichswerkzeuge Schema- und Datenvergleich möglich Quelle/Ziel: Projektdatei Datenbank DacPac Änderungsskript Erstellung möglich Veranstalter: SSDT: Demo IV Datenbank importieren Schemavergleich Datenvergleich SQL Data Explorer Veranstalter: Weiterführende Links Offizieller Einstieg (Dowloads, Guides): http://msdn.microsoft.com/en-us/data/tools.aspx SQL Server Data Tools Team Blog: http://blogs.msdn.com/b/ssdt/ MSDN Docu: http://msdn.microsoft.com/enus/library/hh272686%28v=vs.103%29.aspx Introduction Guide: http://www.codeproject.com/Articles/357905/Eva luating-SQL-Server-Data-Tools Veranstalter: FRAGEN ? Veranstalter: VIELEN DANK! Veranstalter: