24 Stunden SQL PASS Training – 24. – 25 Juni 2015

Die SQL PASS veranstaltet auch in diesem Jahr wieder einen 24 Stunden Trainings-Marathon!

Diese ständig wachsende Veranstaltung bietet auch in diesem Jahr wieder 24 einstündige Sessions rund um den SQL-Server, hierbei bietet sich neuen und auch bewährten Sprechern die Möglichkeit mittels Webcast die Community an ihrem umfangreichen Wissen teilhaben zu lassen.

Auch in diesem Jahr gibt es wieder sehr interessante Sessions:

Zum Beispiel wäre da die Session von Andrey Zavadskiy (t|b) (Projekt Manager bei Ayax-Realt), er spricht am Donnerstag Morgen 8:00 über „Offline Database Development and Unit Testing with SSDT“.

Unit-Test ist ein Verfahren, das üblicherweise von Anwendungsentwicklern verwendet wird, heutzutage verwendet man es auch für die Entwicklung von Microsoft SQL Server Datenbanken. In dieser Session werden Sie lernen, wie man ein Testprojekt erstellt und mithilfe von T-SQL-Code und SQL Server-DataTools Unit-Tests schreibt.
Ebenso wird ein Blick auf die Struktur der Unit-Tests geworfen, einige SQL Server Stored Procedures und Funktionen getestet und es werden verschiedene Testbedingungen für diese definiert.

Oder Maxwell Myrick (SQLHA) spricht Donnerstag den 25. Juni 2015 morgens um 5:00 über „The Art and the Science of Designing a Mission Critical SQL Server Solution“.

Auf die Frage ein kritisches Datenbanksystem zu entwerfen, nehmen viele Menschen einfach ein "Standard"-HA-Lösung und erstellen das Solution-Design drum herum. Dies führt gewöhnlich zu einem kostspieligen und enttäuschenden Design. 
In dieser Session werden die fünf grundlegenden Archetypen für geschäftskritische Datenbank-Systeme erläutert und erklärt wie man die richtigen Features von SQL Server auswählt, um ein vernünftiges solution-Design zu implementieren. Entlang des Weges finden Sie Best Practices, Tipps und realen Welt Beratung für Funktionen wie Verfügbarkeitsgruppen, gruppierten Instanzen von SQL Server, sowie die Geschichte der einige der interessanteren und weniger häufig verwendet, Verfügbarkeitsfunktionen zu hören. Während Sie vielleicht nicht in der Lage, Ihre aktuelle Entwürfe überarbeiten sofort sein wird, was Sie lernen, damit Sie den Helden von Ihren unternehmenskritischen Einsatz.

Oder eine junge Dame, deren Namen man hier schon öfter lesen konnte… Cathrine Wilhelmsen (t|b) spricht am Donnerstag, 11:00 Uhr über „Don’t Repeat Yourself – An Introduction to Agile SSIS Development“

SSIS (SQL Server Integration Services) ist ein leistungsfähiges Werkzeug für das Extrahieren, Transformieren und Laden von Daten, aber die Erstellung und Pflege einer großen Anzahl von SSIS-Pakete können sowohl mühsam und zeitaufwändig sein. Auch wenn Sie Vorlagen verwenden und die Best-Practices anwenden, müssen Sie oft die gleichen Schritte immer und immer wieder wiederholen. Umgang mit Metadaten und Schemaänderungen ist ein manueller Prozess, und es gibt keine einfachen Möglichkeiten, um neue Anforderungen in mehrere Pakete gleichzeitig zu implementieren.
Es ist Zeit, das Sie das "Do not repeat yourself-Software (DRY) Engineering Prinzip in Ihre SSIS-Projekte bringen. Zunächst lernen Sie, wie man BIML (Business Intelligence Markup Language) und BimlScript verwendet, um SSIS-Pakete aus Datenbank-Metadaten zu generieren und Änderungen in all diesen Paketen mit nur wenigen Klicks umzusetzt. Dann gehen Sie mit dem DRY-Prinzip noch einen Schritt weiter und erfahren Sie, wie alle Pakete in mehreren Projekten durch die Trennung und Wiederverwendung von gemeinsamen Code aktualisiert werden können. Sehen Sie, wie BIML ihnen helfen kann, Dinge an nur einem Tag fertigzustellen, für die Sie früher mindestens eine Woche gebraucht hätten!

Die aktuelle Timeline für die 24 hours of SQLPASS kann hier eingesehen werden:
http://www.sqlpass.org/24hours/2015/goc/Schedule.aspx

Registrieren kann man sich hier:
http://www.sqlpass.org/24hours/2015/goc/Registration.aspx

Also schnell anmelden und eine Menge Wissen aus der Community mitnehmen.

24 Hours of PASS: Growing Our Community

Speaker-Sessions

Slides aus meinen eigenen Vorträgen bzw Sessions

Ich würde gerne in Zukunft vermehrt in Usergruppen und auf Veranstaltungen zum Thema SQL Server sprechen und werde dann die entsprechenden Präsentationen hier veröffentlichen. Damit ihr (die SQL Server Interessierten) meine Vorträge auch später noch einmal nachvollziehen könnt, sowie nicht teilnehmende Leser sich entsprechend informieren können. […] Mittlerweile konnte ich nun meine ersten Erfahrungen auf Veranstaltungen sammeln und ein paar Präsentationen bzw Sessions zu den unterschiedlichen Themen oder Themenbereichen halten, somit wächst auch hier die Reihe an downloadbaren PDF-Dateien an. Ebenso veranstalte ich immer noch das Azure Meetup in Hamburg, auch die Slides zu den Sessions könnt ihr herunterladen. Bei Fragen zu den einzelnen Vorträgen stehe ich natürlich gerne zur Verfügung, um zu helfen oder den notwendigen Kontakt herzustellen.

Installation eines performanten und stabilen SQL-Servers (für OLTP) - 13. Mai 2015 Installation eines performanten und stabilen SQL-Servers (für OLTP) – 13. Mai 2015

PDF - SQL Server on Linux SQL Server on Linux – 09. Februar 2017

PDF - SQL Server on Linux SQL Server on Linux – 09. Februar 2017

PDF - Vorstellung OlaHallengren Maintenance Vorstellung OlaHallengren Maintenance – 07. März 2017

PDF - Vorstellung dbatools Vorstellung dbatools – 07. März 2017

PDF - DBA Toolbelt - dbatools meets Ola Hallengren Maintenance DBA Toolbelt – dbatools meets Ola Hallengren Maintenance – 18. April 2017

PDF - Azure Analysis mit Azure Automation Azure Analysis mit Azure Automation – mehrfach in 2017

PDF - Azure Automation - Deployment, Backup und Skalierung von SQL Servern Azure Automation – Deployment, Backup und Skalierung von SQL Servern – 10. Juni 2017

PDF - Installation eines SQL Servers - 10. Juni 2017 Installation eines SQL Servers – 10. Juni 2017

PDF - Einführung in Azure SQL Database Managed Instances - 05. Dezember 2018 Einführung in Azure SQL Database Managed Instances – 05. Dezember 2018

Die von mir verwendeten Bilder stehen unter Creative Commons Zero (CC0) license von Pexel.com.

All photographs on StockSnap are released under Creative Commons CC0 which means you can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. Full licensing terms can be found here.

Falls jemand Interesse daran hat, dass ich ihm/seinen Kollegen/seiner Usergroup einen meiner Vorträge halten soll, wendet sich bitte vertrauensvoll an info@sql-aus-hamburg.de.


Beiträge bzw Slides aus den Sessions des Azure Meetup Hamburg

Simon Schwingel (Cloud Solution Architekt) zeigt uns Wege und Möglichkeiten auf, wie man die Migration durchführen kann. Dies wird Simon uns mittels zahlreicher Demos vorführen, um einen tieferen Einblick zu gewinnen.

PDF - SQL 2 Azure SQL 2 Azure

Bericht über die Erfahrungen Speziell wird genauer eingegangen wie genau die Vorbereitung verlief, welche Hürden gemeistert werden mussten, warum man sich für PaaS und gegen IaaS Angebote entschieden hat. Sprecher: Sia Ghassemi

PDF - Migration to Azure Migration to Azure

Foliensatz von Sebastian Klenk und Malte Lantin zum Thema „Einführung in Azure / Wie nutzt Microsoft intern Azure“

PDF - Microsoft Azure Intro Microsoft Azure Intro

Daniel Falkner arbeitet als Cloud Solution Architect bei Microsoft. Durch seine langjährige Erfahrung mit Open Source Technologien im Bereich Softwareentwicklung und Betrieb von Infrastrukturen (DevOPs) beschäftigt er sich sehr viel mit Architekturen rund um Container Lösungen.

PDF - OpenShift on Microsoft Azure - extended OpenShift on Microsoft Azure – extended

Torsten Prehn über die Einsatz-Möglichkeiten und Varianten mit Azure Backup – Einführung und Überblick

PDF - Azure Backup - Einführung und Überblick Azure Backup – Einführung und Überblick

Raphael Köllner über die rechtlichen und datenschutz-rechtlichen Aspekte der Microsoft Cloud Deutschland
Azure & Office 365 aus der Microsoft Cloud Deutschland

In diesem Meetup wollen wir uns die Microsoft Cloud Deutschland mit Office 365 und Azure genauer ansehen. Mit Microsoft Azure und gut 60 Funktionen ist die Cloud im September des vergangenen Jahres gestartet, nachdem Satya Nadella diese am 11.11.2015 in Berlin angekündigt hatte. Nun kann man Azure aus Deutschland bereits per WebAccess nutzen und Office 365 wird bald verfügbar sein. Wir hoffen, dass zu diesem Tag Office 365 aus Deutschland offiziell verfügbar ist, so dass wir einen Blick hinein werfen können. Wir wollen uns also die MCD aus technischer und rechtlicher Sicht ganz genau ansehen und testen.

PDF - Microsoft Cloud Deutschland - Rechtliche Aspekte und Datenschutz Microsoft Cloud Deutschland – Rechtliche Aspekte und Datenschutz

Martin Schütte, als selbstständiger Unix-Systemadministrator­ und IT-Berater in Hamburg bietet Einblicke in die Nutzung und Möglichkeiten dieses Open-Source-Werkzeuges „Terraform“ um damit Cloud-Dienste zu verwalten. Vergleichbar mit DSC (lokal) oder ARM Templates (in Azure) wird die Zielkonfiguration beschrieben und dann automatisch hergestellt bzw. angepasst.

PDF - Übersicht zu Terraform Übersicht zu Terraform

Thomas Spura ist Senior Data Scientist bei pmOne Analytics GmbH, einem Unternehmen das sich auf die Anwendung von Predictive Analytics und Artificial Intelligence spezialisiert hat. IN seiner Session erläutert er uns warum Bots mittlerweile mehr können als Staubsaugen und Rasenmähen; (Chat-)Bots assistieren Ihnen in Ihrem Alltag! In diesem Einführungsvortrag geben wir Ihnen einen Überblick über Möglichkeiten eigene Bots in Betrieb zu nehmen und sie mit Deep Learning Methoden intelligent handeln zu lassen.

PDF - Einführung in Azure Bots Einführung in Azure Bots

Cosmos DB – NoSQL schlägt zurück
Eine Überblick über die dunkle Seite Ihrer Daten
Es war einmal vor langer Zeit in einer weit, weit entfernten Datenbank…
SQL war für lange Zeit die einzige Option Applikationsdaten zu speichern. Es gab immer wieder rebellische Aktivitäten, das SQL Imperium zu stürzen, was eine neue Hoffnung verbreitete. Aber alle anderen Möglichkeiten Daten zu speichern, entpuppten sich nur als eine dunkle Bedrohung.
Nun, nachdem Erwachen der Cosmos DB startet die Rache von NoSQL.

PDF - Deep Dive into Azure Cosmos DB Deep Dive into Azure Cosmos DB

Sebastian Schütze wird uns einen Einblick in den Umgang und die Arbeit eines agilen DevOps-Teams geben, welches täglich mit dem Microsoft Technology Stack arbeitet.

PDF - Azure DevOps - ein Bericht aus der Praxis - Azure Meetup Hamburg Azure DevOps – ein Bericht aus der Praxis

Sämtliche Rechte und Pflichten über die Inhalte dieser Slides liegen bei den Verfassern.
Diese Seite dient nur der Dateiablage und übernimmt keinerlei Rechtsangelegenheiten für die Verfasser.
Sollten Sie Fragen oder Probleme mit den Inhalten der einzelnen Slidedecks haben, wenden Sie sich bitte direkt an den Verfasser.

Instant File Initialization – Performancegewinn möglich

Im Rahmen der wiederkehrenden Diskussionen über „Wie setzt man einen SQL Server am besten auf?“ stolpere ich regelmäßig über die (vielleicht oft unterschätzte) Möglichkeit der „Instant File Initialization“. Mir war diese bis vor 1-2 Jahren gar nicht bekannt, aber mittlerweile gehört sie bei uns zum Standard, wie wir SQL Server installieren.

Mir ist hierzu noch ein Gespräch mit einem meiner DB2-Kollegen im Kopf, als dieser gerade eine DB2-Server-Migration plante bzw testete…
Er wollte eine neue Datenbank erstellen und musste warten bis die jeweiligen Datenfiles angelegt waren… das dauerte bei 100GB großen Datenfiles nun einmal entsprechend… (oder auch nicht 😉 )

MS SQL macht hier keine Unterschied zu IBM DB2, beide Datenbank-Systeme überschreiben den neu zu belegenden Plattenplatz der neuen Datendateien oder die Erweiterungen der Datendateien im Filesystem erstmal mit Nullen, um so sicherzustellen, dass alte Fragmente von bereits gelöschten Dateien tatsächlich überschrieben wurden.
Die Datenbereiche werden somit bereinigt, in diesem Fall initialisiert.

In Sachen SQL Server hatte ich mir hierzu bis zu dem Zeitpunkt keinerlei Gedanken gemacht, aber wie der Alttag es so möchte, kommt irgendwann immer „das erste Mal“.

Wir haben auf einem SQL-2012-Cluster eine Instanz für ein Online-CMS, dieses Online-CMS legt seine Datenbanken selber an, wenn die Redakteure ein neues „Projekt“ starten.
Ursprünglich (das Online-CMS läuft schon einige Jahre) gab es bisher nie Probleme mit dem Anlegen neuer Projekte, aber anscheinend in einer neuen Kombination aus SQL Version (Umzug aufs SQL-Cluster) und neuer CMS-Version kam es nun zu Problemen, die Redakteure beschwerten sich darüber, dass keine neuen Projekte angelegt werden könnten…

Die Überprüfungen ergaben dann auf Seiten des SQL-Servers nie eine Meldung im SQL-ErrorLog, keine Meldungen über SQL-Probleme in den Logfiles des Online-CMS, auch der Eventviewer half nicht bei der Suche. Die Anlage einer leeren Datenbank für eben dieses CMS über das SQL Management Studio zeigte auch keinerlei Abweichungen vom Standard-Verhalten, alles war wie erwartet. Die manuelle Anlage half aber nichts, weil das CMS damit nichts anfangen konnte (keine interne GUID, keine Tabellen und sonstige internen Anpassungen).
Eine Analyse mit dem Blitz-Skript von Brent Ozar ergab dann einen Hinweis auf eine verringerte Plattenperformance, diesem bin ich erstmal nachgegangen.
Die Storage-Kollegen waren behilflich und haben mir zusätzlich neue SSD-Platten angehängt bzw virtuelle Platten aus dem SSD-Plattenbereich der Storagebox zugewiesen, aber auch mit diesen schnelleren SSD-Platten war es nicht möglich ein neues Projekt anzulegen.
Mit dem Software-Herstellersupport wurde ebenfalls sämtliche Appliaktionsparameter durchgegangen, die irgendwie die Projektanlage beeinflussen könnten… insbesondere Timeouts für die Funktionen der Projekterstellung und die Parameter der Datenbankanbindung.
Dann habe ich mich weiter und intensiver mit dem Thema auseinander gesetzt und bin auf die Möglichkeit(en) der Instant File Initialization gekommen. Meine ersten manuellen Test auf dem Test-Cluster bestätigten meine Vermutungen und ließen mich hoffen, die manuelle Neuanlage von Datenbanken mit unterschiedlichen Datenbank-Größen zwischen 256MB und 5GB geschah um Vergleich zu vorher gerade zu gigantisch schnell.

Also einen neuen Termin mit dem Projektteam, den Redakteuren vereinbart. Den Parameter bzw die Berechtigung entsprechend gesetzt, die SQL Server Ressource auf dem SQL Cluster durchgestartet und die Redakteure gebeten erneut die Anlage eines Projektes zu versuchen. Und siehe da, das Projekt ließ sich tatsächlich anlegen. Die Datenbank samt aller Strukturen wurde angelegt und war im Online-CMS als neues Projekt verfügbar.

Zahlen, die genau meine Vermutungen und Versuche bestätigen, fand ich in einem Blogbeitrag von Uwe Ricken, der sich ebenfalls intensiver mit dem Thema zu Instant File Initialization auseinander gesetzt hatte.

Auf den MSDN-Seiten und im Blog von Uwe Ricken fand ich dann auch Einschränkungen und weitergehende Erläuterungen dazu.

Dadurch dass man den Service-User des SQL Server Dienstes das lokale Recht „Perform volume maintenance tasks“ aktiviert man die „Instant File Initialization“, dies muss im Cluster auf jedem einzelnen Knoten durchgeführt werden.

Durch das Aktivieren (Berechtigung dem SQL Service User erteilen) der Instant File Initialization wird verhindert, dass der SQL Server erst einmal den zu allokorierenden Datenbereich mit Nullen voll schreiben muss, denn es nur ein HighwaterMark gesetzt.
Für das Setzen der HighwaterMark (SetFileValidData) wird das Recht SE_MANAGE_VOLUME_NAME benötigt, daher muss der SQL Service User dieses Recht erhalten, der SQL Server zum Abschluss einmal durchgestartet werden.

Das Füllen der zu allokierenden Datenbereiche mit Nullen im Rahmen der Instant File Initialization bedeutet, dass jedes Byte des neuen zugewiesenen Platzes mit Nullwerten (0x0) überschrieben wird. Dieses Verhalten verhindert so Probleme mit alten Daten, die zuvor in den gleichen physikalischen NTFS Clustern gespeichert wurde. Das Füllen der Daten geschieht somit aus Gründen der Sicherheit, Stabilität und Kontinuität.

Leider ist diese „Beschleunigung“ nur bei den folgenden Datenbank-Operationen zulässig und nutzbar:

  • Anlegen einer Datenbank (Create Database)
  • Autogrowth einer Datendatei einer Datenbank
  • Restore eines Datenbank Backups
  • die Datenbank darf nicht mittels TDE verschlüsselt sein

Wie Sie selber sehen können, nützt die Funktion bei TransaktionsLogs leider nichts, denn TransaktionsLogs müssen immer erst mit Nullen vollgeschrieben werden. Ohne die Null-Initialisierung der Transaktions-Logdatei, würde der Crash-Recovery-Prozess keine Ahnung haben, wo er zu stoppen, wenn die Protokolldatei abgearbeitet wurde. Der Crash Recovery Prozess stoppt, wenn er feststellt, dass Null-Werte in der Kopfzeile des nächsten Protokollsatz verarbeitet werden.

Desweiteren benötigt man (oder der SQL Server) im Rahmen eines Restores keine leeren Datenbereiche, da diese ja schon so groß dimensioniert, dass sie nur so groß sind, wie tatsächlich auch Daten in der Datenbank vorhanden sind. Daher benötigt der Restore kein vorheriges Befüllen/Überschreiben des Datenbereiches.

Überprüfen, ob Instant File Initialization aktiviert ist:

  • Aktivieren des Trace Flags 3004 (DBCC TRACEON(3004,-1);)
  • Aktivieren des Trace Flags 3605 (DBCC TRACEON(3605,-1);)
  • Anlegen einer Testdatenbank und dann
  • im SQL Server Error Log nachschauen.