Deutschlandweite Azure Meetups – die Azure Offline Community

In den letzten Monaten haben sich deutschlandweit zahlreiche Azure Usergruppen (aka Azure Meetups) gebildet, um dem wachsenden Interesse an der Microsoft Cloud Azure gerecht zu werden. Diese lokalen Usergruppen bieten jedem Interessierten eine Anlaufstelle zu allgemeinen oder speziellen Bereichen des Azure Portfolios, hier findet jeder einen Wissenden und kann sich mit anderen “Infizierten” über dieses spannende Thema austauschen.

Meetups zu Microsoft Azure in Deutschland

Diese lokalen Usergruppen sind unabhängig von Microsoft und organisieren sich selbst, selbstverständlich gibt es eine gewisse Nähe zu Microsoft, welche aber nur rudimentär ist. Die Usergruppen nutzen in der Regel die Meetup-Plattform zur Organisation und Informationsweitergabe an die Interessenten, auch ist jeder Teilnehmer – sofern er denn unterwegs ist – in jedem Azure Meetup ein gern gesehener Gast. Abhängig von der Region und dem Einzugsgebiet sind die einzelnen Treffen größer und kleiner, aber alle Organistoren geben sich größte Mühe eine informative und interessante Veranstaltung bereitzustellen. Durch die Nutzung der Meetup-Plattform entsteht auch ein “neuer” Name, anstatt Usergroup-Treffen heißt es jetzt einfach nur noch Meetup => Azure Meetup.

Je nach “Alter” der Meetup Gruppe verfügen die einzelnen Organistoren über Sponsoren, bei den die Events stattfinden oder welche die Events mit Snacks, Getränken oder Sprechern unterstützen.
Falls jemand Interesse hat und an einem solchen Event teilzunehmen, meldet sich bitte über die Webseite Meetup.com an und sucht sich die gewünschte Veranstaltung heraus und “RVSP”ed dort dann, so hat das Orga-Team einen Überblick über die Teilnehmerzahl und wer alles teilnimmt. Einen Nachteil haben solche Meetups für (uns) die Organisatoren, je nach Ballungszentrum bzw Einzugsgebiet und anderen Faktoren schwankt die sogenannte “No-Show-Rate” zwischen 20 und 60 Prozent… heißt es melden sich weit mehr Teilnehmer an, als tatsächlich erscheinen, was unter Umständen zu Problemen mit dem Sponsor oder dem Caterer führen kann.

StockSnap - Nerds lieben ihre Technik und Bier ;-)

Im Vergleich zu Online-Community wie zum Beispiel die “Azure Community Deutschland“, welche sich eben online zu den diversen Themen rund um die Microsoft Cloud austauschen. Ein Teil dieser Online-Community ist auch Teil der Offline-Community, so dass sich hier gewisse Schnittmengen ergeben und man sich gegenseitig kennt und unterstützt.

Microsoft hat uns in der letzten Woche zu einem “Come-together” aller Azure Meetup Organisatoren eingeladen und die Möglichkeit gegeben, dass wir uns mal gegenseitig kennenlernen bzw uns über unsere Erfahrungen mit der Meetup-Plattform und/oder der Organistation solcher Veranstaltungen auszutauschen. So dass wir in Zukunft uns untereinander besser unterstützen können, sowie ein entsprechendes Netzwerk in Deutschland aufbauen können. Unter den Organisatoren gibt es auch eine Vielzahl von Experten, Microsoft MVPs, Cloud-Dienstleister oder auch nur einfach “nur” Community-Begeisterte, man kann also behaupten, dass diese Azure Offline Community ein gewisses “Rückgrat” hat und daher ein qualifiziertes Anlaufpunkt ist für Neulinge in Sachen Cloud.

Wenn Sie also Interesse an der Microsoft Cloud haben und sich in Zukunft über die vielfältigen Möglichkeiten, Techniken und spannenden Erfahrungen beschäftigen möchten, so kommen Sie doch einfach mal zu einem unserer Meetups. Wir heißen Sie dort herzlich willkommen und freuen uns mit Ihnen gemeinsam ein Stück des Weges gehen zu können/dürfen.

das neue Meetup Logo

neue Session – Powershell Toolbelt für DBAs – PASS UserGroup Hamburg

Am 13.04.2017 habe ich das Vergnügen erneut vor der Regionalgruppe Hamburg der PASS Deutschland e.V. sprechen zu dürfen. Sascha Lorenz und Cornelia Matthesius veranstalten – wie jeden Monat – wieder ein Treffen in der Hamburger Geschäftsstelle von Microsoft, dieses Mal ist es Mittwoch, der 13. April. Anmeldungen am Besten über die Meetup-Plattform =>  SQL Server Hamburg (by PASS Deutschland e.V.)

Automation makes things easier

Wer kennt es nicht? Immer heißt es “du musst effizienter werden”, aber wie… also noch schneller die Arbeit erledigen, aber wo kann man noch Zeit sparen? Natürlich bei immer wieder kehrenden Aufgaben, hier gibt es zweierlei Ansätze…

  • Tasks automatisieren
  • länger dauernde, komplizierte Aufgaben einfacher machen

Wie man das in Bezug auf die DBA-Tätigkeiten umsetzen kann und welche Tools/Produkte/Skripte dabei zum Einsatz kommen (können), darüber werde ich an diesem Abend erzählen.

Beispiele ?!

  • Wie lange braucht man um einen SQL Server von einer älteren Version auf eine neuere Version anzuheben?
    Natürlich inklusiv der Übernahme aller Logins, aller Jobs, aller Linked Server, aller Alerts und aller Datenbanken etc – 1-2 Tage je nach Umfang der einzelnen Unterpunkte.Was würdet ihr aber sagen, wenn man das auch in ~5 Minuten schaffen kann (abhängig von der Datenbank-Größe) und nur einer (!!) Kommandozeile ???
  • Datenbanken von Server zu Server kopieren, Datenfiles und Datenbank umbenennen und Orphaned-Users bereinigen in drei Zeilen Powershell ???

Nicht möglich ???

Lasst euch überraschen, ich habe einige Demos vorbereitet anhand derer ich euch diese Tools vorstellen werde.

Veranstaltungsort

PASS Deutschland e.V. ist die deutsche Microsoft SQL Server Community und ein offizielles Chapter der PASS International. Die Mitgliedschaft bei der PASS ist kostenfrei.

Das Treffen findet am 13. April 2017 um 18:30 in der Microsoft Niederlassung Hamburg in der Gasstraße 6a statt und wird von PASS Deutschland e.V.. ausgerichtet.

Microsoft Cloud Deutschland – Rechtliche Aspekte und Datenschutz

Im Rahmen unseres monatlichen Azure Meetups in Hamburg hatten wir dieses Mal Besuch aus Köln, Raphael Köllner kam extra für unser Meetup um über die rechtliche Aspekte und den Datenschutz in der neuen Microsoft Cloud Deutschland zu sprechen. Raphael ist ein Exot unter uns “Insidern”… er kennt sich nicht nur in der IT aus, er ist Windows Insider MVP und Office Server und Services MVP, sondern er ist auch noch Rechtswissenschaftler für IT- und IP-Recht und Wissenschaftlicher Mitarbeiter in einer Rechtsanwaltskanzlei. Somit kann er uns, der Azure-Community, Einblicke sowie wichtige Inhalte der einzelnen Vertragsinhalte optimal näherbringen.

Trumps Einfluss auf die Microsoft Cloud Deutschland

Die Executive Orders die Trump in den letzten Tagen und Wochen erlassen hat, betreffen uns nicht direkt, aber leider die vertraglichen Inhalte mit Microsoft und somit uns indirekt. Hier unter dem Namen “Privacy Shield Framework” wurde unter anderem der Paragraf/die Sektion 14 angepasst, hier geht es mehr oder weniger um den Datenschutz amerikanischer Staatsbürger im Vergleich zu Nicht-Amerikaner, Herr Trump hebt den Schutz der persönlichen Daten ausländischer Einreisewilliger auf.

Social media passwords are to be called upon entry

14-2985: Microsoft Corp. v. United States – Der Supreme Court hat die Urteile aus dem Juli 2016 bestätigt, Microsoft muss keine Kundendaten, die in einem Rechenzentrum einer Tochterfirma in Dublin gespeichert sind an die US Behörden weitergeben, der Stored Communication Act ist nicht anwendbar.
Das lässt zumindest in soweit hoffen, dass auch die europäischen Datenschutz-Rechte unangetastet bleiben.

Datenschutz in der Microsoft Cloud Deutschland

Durch die europäischen Datenschutzgesetze und die weiterreichenden deutschen Datenschutzbestimmungen in Verbindung mit den technischen Gegebenheiten hat ausser dem Kunden selber kein anderer Zugang zu den sensiblen Kundendaten, dies wird durch die spezifische deutsche Zertifizierungen und durch das Lockbox-Verfahren gesichert. Weitere Vorteile für die Nutzung der deutschen Microsoft Cloud liegen in der lokalen Datenverarbeitung und den besseren Latenzen und somit Geschwindigkeitsvorteilen.

Einzig bei den Verträgen sollte man genauer ins Detail schauen, da hier unter Umständen einige Haken versteckt sind, was aber nur für Reseller/Hoster/Softwareanbieter o.ä. relevant ist, da diese ihre eigenen Verträge on-top setzen. Wichtig anzumerken ist hier, dass es sich um einen Dreiecksvertrag handelt… man schliesst eigentlich einen Vertrag mit dem deutschen Treuhänder (T-Systems) ab, wenn man aber alle relevanten Vertragsunterlagen durchliest, stellt man fest dass neben T-System und Microsoft z.B. auch die Deutsche Telekom AG und weitere Töchtergesellschaften mit im Boot ist.

Microsoft Cloud Datenschutz 21.02.2017 - Unterauftragsverhältnis

 

Technisch gesehen ist die Microsoft Cloud Deutschland nahezu identisch mit anderen Azure Clouds also der Public Cloud von Microsoft, aber eben doch anders… denn hier werden nicht alle Servervarianten (IaaS) angeboten, einige Software-Produkte werden erst verspätet angeboten/implementiert und auch die Preise liegen im Vergleich zur Public Cloud etwas höher. Man muss also tatsächlich den Einzelfall überprüfen, für welches Szenario der Umstieg bzw Einstieg in die Microsoft Cloud Deutschland Sinn macht, ob man wirklich alle diese (in der Hauptsache) Datenschutz-relevanten Punkte braucht und wie man diese in seine Lösung einbinden kann.

Ich möchte mich nochmal bei Raphael Köllner recht herzlich bedanken für seinen fundierten und detailreichen Vortrag danken. Die Slides seines Vortrages findet ihr hier auf meinem Blog => Slides aus den Azure Meetups

Wenn ihr Interesse an weiteren Themen rund um Azure und die Microsoft Cloud Deutschland habt, dann kommt doch einfach mal zu einem Azure Meetup vorbei… für alle Hamburger bzw Nordlichter empfehle ich das Azure Meetup Hamburg ansonsten sucht euch bitte eine passendes Meetup je nach Wohnort hier raus, denn die Azure Meetups der Community gibt es deutschlandweit.

Neues in SQL Server vNext unter Linux

Heute geht es um den SQL Server vNext, also den aktuellen Public Preview des SQL Servers auf Linux.
Ich habe mit dem SQL Server schon recht lange zu tun (mein erster Kontakt war etwa 2002 in der Version 6.5), damals konnte man sich gar nicht vorstellen, dass der SQL Server oder Microsoft generell einen Schritt in Richtung Open-Source Linux geht. Das waren zwei komplett voneinander getrennte (feindliche?) Welten… Kommandozeile gegen “bunte Maus-Klickereien”… schon fast (oder immer noch?) eine “Glaubenskrieg” ?!? Auch vor 2013 konnte man sich eine solche Offenheit gegenüber der “Open-Source-Community” schwerlich vorstellen, erst mit Satya Nadella kam ein Umschwung, der die Öffnung in Richtung Community ermöglicht bzw voran trieb.

The Adventure Begins

Für die SQL Server Community war es eine riesige Überraschung als Satya Nadella im März 2016 ankündigte, dass der SQL Server auch auf Linux erscheinen soll. Mit dem ersten Public Preview bzw der ersten Details offenbarten sich weitere Neuerungen im SQL Server Umfeld, das es eben auch möglich sein sollte den SQL Server als Docker-Container betreiben zu können. Somit ermöglichte man auch den MAC-Usern einen Zugang zum SQL Server.
Die nächste Konsequenz war dann auch die Veröffentlichung im August 2016, dass Powershell Open-Source wird und der Source-Code öffentlich zugänglich auf Github liegt, durch diese Öffnung ergaben sich plötzlich diverse neue Einsatzvarianten und Lösungsansätze. Plötzlich konnte man seine komplette Umgebung mit Powershell administrieren, sicherlich für beide Seiten (Linux- und Windows-Admins) eine komplett neue und ungewohnte Situation.

Am 16. November 2016 war es dann soweit, Microsoft gab die erste Version des SQL Servers vNext (zuerst nur) auf Linux als Public Preview bekannt… Jedermann konnte sich nun den SQL Server auf seinem Linux-Server installieren und ausprobieren, bereits mit der folgenden Version kamen dann die Möglichkeiten dazu den SQL Server vNext auch als Container zu installieren dazu, dadurch auch die Möglichkeiten für MAC-User den SQL Server als Docker-Container laufen zu lassen.

Historie der bisherigen SQL Server Versionen

Die erste Version des SQL Servers gab es bereits 1989, damals allerdings noch nicht auf Windows Betriebssystemen sondern nur unter OS/2. Erst mit der Version 4.21 im Jahre 1993 brachte Microsoft den SQL Server in der Version 4.21 auf Windows heraus, danach gab es (bisher) nur eine OS-Plattform für das bekannte Datenbank-Produkt. Über die Jahre gab es immer wieder neue großartige Releases, zum Beispiel 2000 den SQL Server 2000 auch bekannt als SQL Server 8.0, nach dieser Version ging man dazu über die Abstände zwischen den einzelnen Veröffentlichungen zu reduzieren und die einzelnen Versionen mit Jahreszahlen auszudrücken. 2005 kam der SQL Server 2005 auf den Markt, 2008 die Version 2008 und so weiter… Der SQL Server 2016 ist gerade veröffentlicht worden, schon präsentiert Microsoft bereits neue Ideen wie den SQL Server auf Linux… Jetzt im Februar 2017 gibt es bereits den vierten CTP-Release des SQL Servers on Linux… die General Availibility soll bereits Mitte 2017 verfügbar sein, welches Feature-Set dieses Release beinhalten wird ist allerdings aktuell noch unklar.

FeatureSet - SQL Server on Linux

Installation und Betrieb – ganz einfach

Den SQL Server auf Linux zu installieren ist keine Magic und sehr einfach und schnell erledigt – erstaunlicherweise. In der Regel schafft man die Installation des SQL Servers auf einem bestehenden Linux Server unter RedHat Linux, Suse Linux oder Ubuntu innerhalb von wenigen Minuten.

Import der öffentlichen Repository GPG Schlüssel:

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - 

Registrieren des Microsoft SQL Server Ubuntu Repository:

curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list | sudo tee /etc/apt/sources.list.d/mssql-server.list 

Die eigentliche SQL Server Installation:

sudo apt-get update sudo apt-get install -y mssql-server 

Grundlegende Konfiguration inkl. Security

sudo /opt/mssql/bin/sqlservr-setup 

Starten der SQL Server DB-Engine

sudo systemctl start mssql-server 

Tools-Installation

sudo apt-get update 
sudo apt-get install mssql-tools unixodbc-dev

sudo ln -sfn /opt/mssql-tools/bin/sqlcmd-13.0.1.0 /usr/bin/sqlcmd 
sudo ln -sfn /opt/mssql-tools/bin/bcp-13.0.1.0 /usr/bin/bcp

Und schon hat man es geschafft, der SQL Server läuft auf dem Linux System!
Nun kann man zum Beispiel eine vorhandene Datenbank von einem Windows-System auf das Linux System mittels Backup und Restore kopieren.
Hierzu bedarf es ein paar Vorbereitungen, wie Pfade anlegen, Berechtigungen vergeben, z.B. WinSCP installieren und konfigurieren und wenn man dann die Backup-Datei auf dem Linux-System abgelegt hat, kann es auch schon los gehen.

RESTORE DATABASE AdventureWorks FROM DISK = '/var/opt/mssql/backup/AdventureWorks2014.bak' 
 WITH MOVE 'AdventureWorks2014_Data' TO '/tmp/data/AdventureWorks2014_Data.mdf', 
 MOVE 'AdventureWorks2014_Log' TO '/tmp/tlog/AdventureWorks2014_Log.ldf';

GO

TempDB-Performance-Tuning out of the box – T-SQL Tuesday #87

TempDB-Performance-Tuning out of the box - T-SQL Tuesday #87

T-SQL Tuesday ist eine wiederkehrende Blog-Serie, die von Adam Machanic (b | t) gestartet wurde, jeden Monat ist ein Blogger Gastgeber für ein Thema rund um den SQL Server und jeder kann einen Blogbeitrag zu diesem bestimmten Thema schreiben.

Diesen Monat ist Matt Gordon (b | t) unser Host und das Thema geht um neue Features im SQL Server (ab der Version 2014) welche alte Problemstellungen beheben, bekannt gegeben in seinem Announcement-Post.

Mein Thema für diesen TSQL2sDay ist die neue Möglickeit zur Konfiguration der TempDB im Rahmen der SQL Server Installation.

Umsetzung der Best-Practise für die TempDB vereinfacht

Bisher musste man nach erfolgter Installation des SQL Server die Best-Practise Empfehlungen von Microsoft mehr oder weniger aufwändig konfigurieren. Entweder man ist auf herkömmliche Art und Weise an das Thema heran gegangen und hat die Werte manuell über das SQL Servermanagement Studio eingestellt oder man hatte es sich einfacher gemacht, dieses entweder per T-SQL oder Powershell Skript automatisiert. Aber dennoch musste man jedesmal diese Konfigurationsanpassungen nachträglich hinzufügen, um eine optimierte Performance der TempDB zu erreichen.

Die grundsätzliche Performance erhält die TempDB im Grunde zwar über die Hardware-Ausstattung, hier die physikalische Trennung zwischen User-Datenbanken und TempDB und die Verlagerung der TempDB auf hochperformanten Storage. Microsoft empfiehlt die strikte Trennung von UserDB und TempDB nicht nur durch getrennte Ordner-Strukturen oder getrennte Partitionen, es sollen eigene (schnelle) Platten sein. Hier muss auch keine großartige RAID-Konfiguration vorliegen, ein RAID 1 oder RAID 10 wären toll, aber keine wirkliche Notwendigkeit, denn die TempDB wird beim Neustarten des SQL Servers immer wieder “neu” erstellt, somit wäre es kein “Drama” wenn sie korrput wäre oder die drunterliegenden Platten crashen würden. (Ok, mal von dem Verlust von Daten und Zeit abgesehen).

Überblick über die Best-Practise Änderungen

Soviele Anpassungen sind gar nicht notwendig um eine bessere Performance der TempDB zu erreichen, diese möchte ich hier kurz zusammenfassen:

  • physikalische Trennung von User-Datenbanken und TempDB
  • Aufsplittung der TempDB in einzelne Datenfiles gem. Prozessor-Anzahl
  • Autogrowth-Parameter Anpassungen
  • Trace-Flag je nach Verwendung/Bedarf

Wenn man nun diese physikalische Optimierung im Storage-Bereich realsiert hat, kann man sich an die logischen Anpassungen in der Konfiguration machen. Je nach Prozessor-/Kernzahl empfiehlt Microsoft anstatt eines großen Datenfiles die Aufsplittung in mehrere getrennte Datenfiles, um eine Optimierung der IO-Streams umzusetzen (Parallelisierung). Ebenso kann man – je nach Anwendungsgebiet bzw Bedarfs – nun die Datenfiles initial auf eine feste Größe festlegen, damit der interne Aufbau der Datendateien optimiert wird und alle Dateien gleich groß sind. (ähnl. Traceflag 1117/1118). Anderweitig sollte man den Autogrowth-Parameter auf 10% setzen, so dass die Datendateien in Verbindung mit den Traceflag 1117 und 1118 zu einem optimierten, gleichmäßigen Aufbau der TempDB beitragen.

SQLServer2016 - Configure TempDB during Installation

SQL Server 2016 bringt integrierte Vereinfachungen

Der SQL Server 2016 bringt nun diese ganzen logischen Optimierung gleich im Rahmen der Installation mit… man kann also ohne Umschweife dem SQL Server mitteilen, wie man die Anzahl und Aufteilung der TempDB-Datenfiles sowie deren Autogrowth-Parameter setzen möchte. Microsoft hat endlich die lange publizierten Best-Practise Empfehlungen in den Installationsprozess integriert. Somit muss man eigentlich nur noch die Hardware-Vorraussetzungen für die TempDB schaffen und kann anfangen zu installieren.
Ok, auch hier muss man sich natürlich Gedanken machen, welche Werte man wie setzt, aber zumindest muss man sich über diese Konfigurationen hinterher keine Gedanken machen!

VIELEN DANK an Microsoft für diese Verbesserung.

Man kann man während des Installationsprozesses einstellen, wieviele Datenfiles man anlegen möchte, dazu die initiale Größe und auch den Autogrowth-Parameter festlegen. Theoretisch könnte man sogar für jedes einzelne Datenfile (Aufteilung anhand der Anzahl der Kerne) einen eigenen Datenpfad oder sogar eine eigene (SSD-)Platte spendieren. Alles in einem übersichtlichen Screen dargestellt und auf für den unerfahrenen DBA einsetzbar.

Durch dieses neue “Toy” konnten einige “Problems” reduziert werden… 😉