Azure SQL Database – Review of T-SQL Tuesday #103

I’m a little bit sad about the outcome of my TSQL2sDay topic „write about all your experiences with Azure SQL Database“… only 2 people had written about what they were doing with that great product from Microsoft. But this will be a positive motivation for me to spread the words across the #SQLFamily even louder!!! 😉

I asked the SQL Server community on Junes‘ 2018 TSQL2sDay to write about all of their experiences (positive and negative), all their issues, all of their plans and/or challenges with the „Azure SQL Database“.  It seems that there are really fewer experiences within the community with those really good databases… ok „Azure SQL Managed Instance“ is an absolutely new product but the normal database as a service is an old service…
Looking forward for more session about Azure SQL Database

We rise by lifting others

At least two people had written a blog post (and commented on my TSQL2sDay invitation post):

There is Rob Farley who wrote about „The fear of the new“ in a more poetic way why are so many out there struggle with Azure SQL Database. And Kenneth Fisher also wrote about „Why not trying it ?“ and how to develop new processes, ideas, products and even opportunities by using Infrastructure-as-a-Service in the public cloud.

Thank you very much you two for participating in this months topic and the series of TSQL2sDay (initialized by @AdamMachanic).

More talks about Azure SQL Database to come

Now I’ll have to increase my efforts in talking about Azure SQL Databases in the future to make more rumour on this awesome product from Microsoft and all those great features like included backup and monitoring or built-in‘ automatic tuning options. You should definitely have a look at that product and give it a chance. It is very easy to deploy and manage it via Azure portal or Powershell Commandlets. You’ll enjoy the freed up time with other interesting and exciting things (or even with your friends and family) 😉

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

Azure SQL Database – Challenges, Pros and Cons, Issues (T-SQL Tuesday #103 Invite)

Azure SQL Database - Challenges, Pros and Cons, Issues (T-SQL Tuesday #103 Invite)

Brent Ozar wrote in #100 of TSQL2sday about his predictions which he had made already in 2013 and that he now thinks that Azure SQL Database (Managed Instance) might be the new default database for all kind of services (instead of VMs).

Already Azure SQL Database is some kind of „state of the art“ database as a service for all types of applications and its demand is growing day by day. More and more companies are migrating their databases to public cloud databases and so our daily business changes…

Write what you think about Azure SQL Database

So this is my call for the June 2018 TSQL Tuesday:
Tell me/us if you or your company has already started testing of Azure SQL Database or Azure SQL Managed Instance or if you’re already using it.
Tell us all about it:

  • What was your migration tool?
  • How did you plan that migration?
  • Were there any assessments before the migration?
  • Which problems occurred during your test-phase?
  • Which problems occurred during your migration?
  • Was there any automation around the migration?
  • Which scripting language was used for what? Powershell or Azure CLI?
  • Is there any automation right now during normal operation?
  • Any issues, special requirements or anything else around using Azure SQL Database?
  • How do you monitor the database?
  • How do you do database maintenance?
  • Do you use the builtin tuning options?

Simply write about all of your experiences with Azure SQL Database or Azure Managed Instance. Even if you don’t see a future for Azure SQL Databases write about it everything is welcome!

This is a T-SQL Tuesday, so there are official rules.

  1. Publish your contribution on Tuesday, June 12th, 2018. Let’s use the “it’s Tuesday somewhere” rule.
  2. Include the T-SQL Tuesday Logo and have it link to this post.
  3. Please comment below with a link to your post.
  4. Tweet about your post using #tsql2sday.
  5. If you’d like to host in the future, contact Adam Machanic.

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

TSQL Tuesday #96: Community Menschen die meinen Weg beeinflusst haben

TSQL Tuesday #96: Menschen die meinen Weg beeinflusst haben

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 Ewald Cress‏ (blog | twitter) unser Gastgeber und es geht um die Menschen, die uns in unserem Leben mit den Daten in der Community beeinflusst haben.

Ich habe lange Zeit keinen Bezug zu einer Community gehabt, in meiner Jugend war ich ehrenamtlich beim Deutschen Roten Kreuz und jetzt wieder mit „euch“ unterwegs.

Wer hat mich in den letzten Jahren beeinflusst?

Eigentlich fing alles mit dem PASSCAMP  2013 an… Ok, vielleicht schon etwas früher, als ich mich Mitte 2012 bei Twitter anmeldete und viel von einer #sqlfamily las.

Hier gilt es auf jeden Fall Brent Ozar zu erwähnen, der mich mit seinem Wissen und Blogbeiträge schon seit Jahren inspiriert und im täglichen DBA-Leben weiter bringt. Auch seine Beiträge zum Thema „Warum sollte ich einen Blog betreiben?“ zählen zu meinen immer wieder genannten Gründen. Leider habe ich ihn noch nicht persönlich treffen können, aber das kommt garantiert noch. Seine lustige Art und Weise komplizierte Dinge einem verständlich zu erklären ist einfach großartig!

Dann in 2013 war es mein Besuch beim PASSCamp und somit mein erster direkter Kontakt mit der deutschen sqlfamily aka SQLPass. Hier kann man nur die üblichen Verdächtigen aufzählen, die eigentlich immer auf solchen Veranstaltungen anwesend sind. => Oliver Engels, Tillmann Eitelberg, Kostja Klein, Niko Neugebauer und Andreas Wolter, um nur einige zu nennen… Ich fand deren Gruppendynamik genial und das ganze Miteinander… jeder kennt jeden, jeder lacht mit jedem und jeder redet mit jedem, keiner wird ausgegrenzt!

Da wollte ich mitmachen, irgendwie dazugehören… aber wie???

Henning L. @hlhr_dev Jun 2 thanks to all the speakers and specially to @sql_williamd for this great event #SQLGrillen

Also begann ich nach dieser Erfahrung mich mehr mit der PASS und deren Aktivitäten zu beschäftigen und fand unter anderem Cathrine Wilhelmsen, deren Community-Aktivitäten mich ebenfalls anspornten und aufzeigten, was ich wie anfangen muss => mehr Teilnahmen an lokalen bzw nationalen Aktivitäten der PASS. Dann kam das SQLGrillen von William Durkin und die Session von Andre Kamann über PoSh meets Ola Hallengren und das Zusammentreffen mit Andre Essing, welche mich dazu motivierte selber über meinen Schatten zu springen und als Sprecher in der PASS aufzutreten. Bei den folgenden zwei SQLSaturdays (Rheinland und München 2016) war ich dann erstmalig als Volunteer unterwegs und konnte so in die nationalen Aktivitäten der PASS Deutschland hinein schnuppern. Wie es der Zufall wollte oder das Netzwerk die Kugeln rollte, war der SQLSaturday in München der nächste Baustein in meiner „Community-Karriere“ und bescherte mir das Azure Meetup Hamburg.

In 2017 kamen dann die ersten öffentlichen Talks dazu, mal Firmenintern, mal in der PASS-RGV Hamburg, beim SQLGrillen 2017 (DANKE William) und gleich doppelt beim SQLSaturday Rheinland 2017 (Dank an Olli, Tillmann und Kostja)… all das in Verbindung mit meinen Blog- und Twitter-Aktivitäten sorgte dann dafür dass Microsoft mich mit dem MVP-Award auszeichnete.

Ich möchte auf diesem Wege also folgenden Menschen der #sqlfamily meinen Dank aussprechen:

Oliver Engels
Tillmann Eitelberg
Kostja Klein
Andre Essing
William Durkin
Andre Kamann

Ein besonderer Dank geht an Gabi Münster für die Unterstützung bei meinem ersten „großen“ öffentlichen Auftritt, im Endeffekt geht/ging es um den „Arschtritt“ um über meinen Schatten zu springen. Natürlich halfen auch viele Gespräche und Twitterkontakte mit zahlreichen anderen Community-Mitgliedern (Chrissy, Claudio, Rob, Dirk, Volker und vor allem immer wieder Conny!), um mich nun als Mitglied (zumindest der deutschen) SQLFamilie zu fühlen! VIELEN DANK! Weitere Ziele sind geplant für 2018 😉

Ein ganz besonderer Dank geht an meinen Team-Lead Thorsten Moeller, der mich immer wieder bei meinen Aktivitäten unterstützt und ein noch viel größerer Dank gilt meiner Frau, die diese Aktivitäten ebenfalls unterstützt und mir immer „den Rücken frei hält“!

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

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… 😉

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

Installing old SQL Server Versions – T-SQL Tuesday #83

T-SQL Tuesday #82 – To the cloud… And beyond!!!

T-SQL Tuesday is a recurring blog party, that is started by Adam Machanic (b | t). Each month a blog will host the party, and everyone that want’s to can write a blog about a specific subject.

This month Andy Mallon is our TSQL2sDay host and the subject is “We’re still dealing with the same problems”.

Yes, of cause I know such problems too! Let me tell you my story about customers, 3rd party companies and their solutions.

Their solution vs. my recommendation vs the real world

Due to the contracts between „us“ and the customer we’re responsible for their SQL Servers… very old ones, middle-aged ones and newer ones. So if there is any problem with any database, user or what else they’ll contact „me“. So I’ve got a big interest in building up stable and long running SQL Servers according to best practices.

Some of might know that I’m working for a big outsourcing company and many of our customer don’t have a IT team anymore. So what do they do if they wanna have a new application for their business cases… correct they asking a third party company to help them… ok, better than doing it themself. But what happens next ???

Due the internal structure of our company the customer doesn’t get directly in contact with me or my team, they asking their Service Manager for assistance… what do they do? There are four options

  1. asking a solution architect for a structured solution
  2. calling me or my team for assistance in building a stable solution
  3. doing it themself
  4. asking the customer or his 3rd party to send a recommendation for SQL Server setup

our prepared solution architects

They’re doing a great job and have very much knowledge and trying to get the best result to fulfill everyone needs. Nearly all solution architects at my company are knowing how to setup a stable basic SQL Server, if they’re not sure at all they will ask one of the DBAs. There is also a regular communication round where we talk to each other about new features, new ideas and so on… So I can rely on what they do and how they build solutions.

the lonesome rider

Several Service Manager of my company think they are able to do such solution design on their own… mostly they’re on the easiest path and accept every requested solution from the customer or 3rd party. But with that solution we’re not going live… 😉 So we’ll have to take several rounds of discussions… very annoying.

calling the specialists team

After several annoying years with lots of solution discussions we’ve build up a „shopping cart“ where everyone can click through the most relevant features and informations needed for a stable SQL Server Installation. All these items and recommendations are based on the general available standards and best-practices. So I can guarantee that this sql server will fit nearly all application requirements and provides a stable, performant SQL Server.

warenkorb

The most annoying to me are always the requirements from third-party service providers and our own service managers that we should still install SQL Server 2008R2. That version is very aged and the newer version had so much improvements according to performance and stability.

So why shouldn’t my or their customers benefit from these improvements ???

 

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.