@kostjakleindownload.microsoft.com/download/f/7/e/f7e9a431-dd1d-4082...headless tools visualize...

34
@KostjaKlein

Upload: others

Post on 14-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 3: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DB Entwicklung ist mühsam

• Fokus auf ALTER scripts

• Abhängigkeiten machen selbst simple Aktionen

komplex

• Fehler werden spät bemerkt

• Schwierig App- und Datenbankversionen zu

harmonisieren

• Unterstützung unterschiedlicher DB Editionen

Page 4: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

SQL Server Data Tools SSDT

• Visual Studio Team Edition for Database Professionals

• Data Dude

• TSData

• DB Pro

• Visual Studio 2010 SQL Server Database Projects

• Project Juneau / SQL Server Developer Tools

Page 5: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DEMO Connected Development

Page 6: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Connected Development

Drift Detection

Schema

Comparison

SQL Server

Object

Explorer

T-SQL Editor

Table Designer

Error

Information

T-SQL

IntelliSense

View Code

View/Edit Data

T-SQL

Debugging

Data

Comparison

Page 7: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DEMO Project Based Development

Page 8: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Project Based Development

Go To Definition

Find All References

Refactoring

Point-in-time Snapshots

T-SQL Static Code Analysis

Source Code Based

F5 Debugging &

Testing with

LocalDB

Source Code

Control

MSBuild

Headless Command Line

Tools

Visualize Schema Differences

Page 9: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 10: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Wer von Ihnen verwendet eine Versionsverwaltung

für den Anwendungscode?

C#, ASP.NET, JavaScript, VB.NET, …

Page 11: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Wer von Ihnen verwendet eine Versionsverwaltung

für den DatenbankAnwendungscode?

Page 12: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Ebenen des DB Lifecycle Managements

CD

Continuous

Integration

Versionsverwaltung

Manuell

CD = Continuous

Delivery/Deployment

Page 13: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 14: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Die Meinung im Internet

Source: http://programmers.stackexchange.com/questions/122150/how-can-i-convince-cowboy-programmers-to-use-source-control

Source: https://www.drupal.org/node/299067

Source: http://www.makeuseof.com/tag/git-version-control-youre-developer/

Page 19: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DEMO Redgate SQL Source Control

Page 20: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 21: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DEMO TDD mit SSDT

Page 22: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Database Unit Testing in SSDT

• Test Initialize/Cleanup Scripts • Vorbereitung der Umgebung für den Test

• Aufräumen danach

• Pre/Post Test Scripts • Vorbereitung des eigentlichen Tests

• ggf. Nachbereitung

• Test Script • Hier steht der Test

Page 23: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 24: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

DEMO Continuous Integration / Continuous Deployment

Page 25: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Vorteile von CI

• CI verhindert das „Works on my machine“ syndrom

• Die Änderungen aller Entwickler kommen in das Deployment und keiner wird

abgehängt

• Tests können kontinuierlich laufen und so im Falle eines Fehlers früher

informieren

• Größere Sichtbarkeit des Projektes

• Das Deployment wird unabhängig von den Entwicklern

• Einfachere Bereitstellung einer Umgebung für ein neues Teammitglied

Page 26: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Nachteile Hürden von CI

• Es benötigt Zeit den CI Prozess aufzubauen

• Funktioniert besser mit Tests

• Kurze Buildzeiten helfen – daran kann/muss man arbeiten

• Verletzter Stolz

Page 27: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Fragen ???

Page 28: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

SQL Server Konferenz 2016

Page 29: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Wrap up

• Mit SSDT stellt Microsoft modernes Tooling für die Datenbankentwicklung kostenlos bereit

• Versionskontrolle der Datenbank ist die existentielle Grundlage für Database Lifecycle Management (DLM)

• „If it’s not in source control, it doesn’t exist“

• TDD und CI sind auch für Datenbanken möglich

Page 30: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Feedback !!!

Page 31: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Verlosung

Page 32: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Speakerinfo: Constantin Klein

Constantin arbeitet bei der Freudenberg IT GmbH & Co. KG. Dort beschäftigt er sich mit der Entwicklung von Lösungen auf Basis der Microsoft Produkte und Technologie Plattformen. Sein besonderes Interesse gilt dabei der Gewinnung, Verarbeitung und Nutzung von Daten und Informationen. Er ist MCSD, MCITP Database Developer und MCPD Web + Enterprise Application Developer. Seit 2010 wurde er jährlich von Microsoft zum Most Valuable Professional (MVP) für SQL Server ernannt. Er engagiert sich zusätzlich im Vorstand des Just

Community e.V. und des PASS Deutschland e.V.. Er leitet außerdem die .NET User Group Frankfurt.

Sein Blog finden Sie unter

http://kostjaklein.wordpress.com

Page 33: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?
Page 34: @KostjaKleindownload.microsoft.com/download/F/7/E/F7E9A431-DD1D-4082...Headless Tools Visualize Schema Differences Wer von Ihnen verwendet eine Versionsverwaltung für den Anwendungscode?

Entwickler:

www.techwiese.de - News, Ressourcen, Events und Support für Entwickler

www.msdn.de/newsletter - MSDN Flash – kostenloser Newsletter für Entwickler

IT Pros:

www.itprohub.de - News, Ressourcen, Events und Support für IT Profis

www.technet.de/flash - TechNet Flash - kostenloser Newsletter für IT Profis

Für Devs und IT Pros:

www.mva.ms - Kostenlose Online-Schulungen für Entwickler und IT Profis

www.ch9.ms - Videoplattform für Entwickler und IT Profis

Weiterführende Informationen