Die Bedeutung von Datenverwaltung zu Zeiten von Covid (Sars-Cov-19)

Im vergangenen Jahr war durch SarS-Covid-19 eine Sache ganz besonders im Vordergrund, die vielleicht dem ein oder anderen ungeschulten Auge durch die Lappen gegangen ist: DATEN. Fallzahlstatistiken, Neuinfektionsrate, r-Werte und viele, viele mehr. Bis letztes Jahr waren “Wachstumsraten”, “logarithmische Skalen” und “die Kurve abflachen” nicht unbedingt die gängigsten Themen am Esstisch. Im vergangenen Jahr hat es sich allerdings als unumgänglich herausgestellt, sich mit solchen Informationen zu beschäftigen und vor allem diese auch verstehen zu können. Quelle: https://ourworldindata.org/coronavirus Datenmanagement im öffentlichen und privaten Sektoren Wenn Organisationen in öffentlichen oder privaten Sektoren vor ein besonders komplexes Problem gestellt sind, ist es in der …

Weiterlesen …Die Bedeutung von Datenverwaltung zu Zeiten von Covid (Sars-Cov-19)

MERGE Abfrageplan in SQL Server

Mit SQL Server 2008 veröffentlichte Microsoft die MERGE Statements als Alternative zu der bestehenden “löschen / updaten / einfügen” Logik. Schon zur Veröffentlichung hatte der Befehl einige Probleme, die auch im Jahr 2021 noch bestehen. Trotzdem kann MERGE einige interessante Vorteile bieten, sollte aber nur mit äußerster Vorsicht in einer produktiven Umgebung verwendet werden. In den folgenden Abschnitten werden wir einen Blick auf den MERGE-Befehl werfen, einen simplen Test erstellen und nachvollziehen, wie die einzelnen Elemente des Ausführungsplans zum gewünschten Ergebnis kommen. Die von uns betrachteten Details sind aber nicht nur für MERGE relevant, sondern sollen das generelle Verständnis der …

Weiterlesen …MERGE Abfrageplan in SQL Server

Wie migriere ich meine SQL Datenbank in einen Docker Container? – Database Migration mit dem SQLSyncer

Die Migration einer Datenbank kann viele verschiedene Gründe haben und gestaltet sich je nach Erfahrung und Anwendungsgebiet oft als größere Herausforderung, als initial angenommen. Das richtige Werkzeug zur Hand zu haben, kann dabei den entscheidenden Unterschied bringen. In unserem heutigen Artikel möchten wir Ihnen zeigen, wie Sie mit Hilfe des SQLSyncer eine SQL Datenbank im Handumdrehen auf einen Docker Container migrieren können. Zusätzlich werden wir die Vorteile besprechen, die der SQLSyncer bei der Sicherung einer Datenbank eines Docker Containers bringen kann. Voraussetzungen Um der im Artikel beschriebenen Anleitung folgen zu können, benötigen Sie: Eine existierende SQL Server Instanz Eine Datenbank …

Weiterlesen …Wie migriere ich meine SQL Datenbank in einen Docker Container? – Database Migration mit dem SQLSyncer

Automatisiertes T-SQL Unit Testing mit Jenkins, Docker tSQLt und dem JUnit Plugin

In den vorausgehenden Artikel zu Jenkins, Docker und SQL Server haben wir uns bisher ausschließlich drauf beschränkt. In dem heutigen Artikel werden wir unsere multi-branch Pipeline mit zwei simplen tSQLt unit tests erweitern. Der einzige Unterschied zur Vorgehensweise des vorherigen Artikels ist, dass wir dieses Mal zusätzlich das JUnit Plugin für Jenkins benötigen. Auch hier werden wir wieder das SQL Server 2017 Linux Image verwenden. Dabei kommt es leider zum Konflikt, da Linux nur mit Baugruppen kompatibel ist, die als SICHER (engl. SAFE) gekennzeichnet sind. tSQLt ist das nicht. Um die beiden Bausteine also trotzdem miteinander verwenden zu können, muss …

Weiterlesen …Automatisiertes T-SQL Unit Testing mit Jenkins, Docker tSQLt und dem JUnit Plugin

Jenkins Multi-Branch Build Pipeline mit Docker und SQL Server

Der erste Schritt jedes Systems für kontinuierliche Integration ist, das Projekt unter Source Code Control zu bringen. Danach kann man sich eine Branching-Strategie überlegen, die dem Projekt angemessen ist. Ein “Branch” beschreibt dabei eine Evolutions-Linie einer Code Base in einem Source Control Repository. Ein Source Code Control System wie z.B. Git hat immer einen master-Branch als Grundlage der Veränderung der Code-Base. Da in den meisten Fällen mehr als nur ein Entwickler an einem Projekt arbeitet und das Arbeiten mit nur einem Branch sich als sehr unpraktisch erweist, benötigen wir die zuvor erwähnte Branching-Strategie. An dieser Stelle kommt das Jenkins Multi-Pipeline …

Weiterlesen …Jenkins Multi-Branch Build Pipeline mit Docker und SQL Server

Erstellen einer Continuous Integration Build Pipeline mit Jenkins, Docker und SQL Server

In einer Welt mit kontinuierlicher Datenintegration und sofortiger Veröffentlichung kann es vor kommen, dass wir vielleicht mehrere unterschiedliche Builds an nur einem Tag erzeugen müssen. Dafür eignet sich besonders die Verwendung von Docker, da mit dessen Hilfe Umgebungen mit nur wenig Arbeit erzeugt und genau so leicht wieder entfernt werden können. In dem folgenden Artikel wollen wir veranschaulichen wie man mit der Hilfe von GIT, Jenkins, Docker und SQL Server für Linux eine simple Pipeline bauen kann. Die Pipeline Die von uns im Folgenden erstellte Pipeline wird aus insgesamt 5 unterschiedlichen Schritten bestehen. Diese sind: Auschecken eines SSDT Projekts aus …

Weiterlesen …Erstellen einer Continuous Integration Build Pipeline mit Jenkins, Docker und SQL Server

Erstellen eines Self-Service Framework für SQL Server Administratoren

Das Leben eines DBA ist wirklich kein leichtes Spiel. Wer kennt es nicht: von “Kannst du mal eben die Abfrage XYZ ausführen und mir die Ergebnisse als Excel-Dokument zukommen lassen?” bis “Hier, alle diese Skripte müssen in die Vor-Produktion!”. Alles keine großen Herausforderungen für einen DBA – aber sie kosten Zeit und/oder können uns schnell aus dem Konzept bringen. Um solche allgemeinen Aufgaben in Zukunft vermeiden zu können, bietet es sich an, einen Self-Service Mechanismus einzurichten, der ohne viel Zutun des DBAs kleinere, evtl. öfter wiederholte Aufgaben ausführen kann, wie etwa Abfragen ausführen, Skripts veröffentlichen oder Umgebungen aktualisieren, ohne bzw. …

Weiterlesen …Erstellen eines Self-Service Framework für SQL Server Administratoren

SQL Server: die Bedeutsamkeit des Datenbanken Kompatibilitätslevels

Noch vor der Veröffentlichung des SQL Server 2014 wurde dem Datenbanken Kompatibilitätslevel nicht besonders viel Aufmerksamkeit zugeteilt – zumindest wenn es darum ging, die Performanz des Servers zu verbessern. Im Gegensatz zu dem Datenbanken-Datei-Level (die automatisch angepasst und geupdatet wird, wenn eine Datenbank auf einer Instanz, die eine neuere SQL Server Version ausführt, wiederhergestellt wird), kann das Datenbank Kompatibilitätslevel mit einem einfachen Befehl verändert werden: SET COMPATIBILITY LEVEL = [LEVEL] Dabei ist wichtig zu verstehen, dass das Kompatibilitätslevel einer Datenbank beliebig angepasst werden kann. Was wiederum in vielen Fällen (wie beispielsweise nach einer Migration auf einen neueren SQL Server) dazu …

Weiterlesen …SQL Server: die Bedeutsamkeit des Datenbanken Kompatibilitätslevels

Des Kaisers neue Kleider: Die Überarbeitung der grafischen Oberfläche des SQLSyncer – Teil 1

In meinem heutigen Artikel möchten wir einen Weg einschlagen, den wir bisher noch nicht wirklich gegangen sind: mit einer Art “Dev-Blog” möchten wir unseren Lesern und Kunden einen kleinen Einblick hinter die Kulissen gewähren – genauer gesagt in die Entwicklung unserer Software SQLSyncer. Der SQLSyncer ist eine Automatisierungssoftware für Migration und Synchronisation von Datenbanken zwischen unterschiedlichen Quell- und Ziel-Servern und soll vor allem Benutzer mit wenig Vorwissen und eigener Erfahrung in Migration/Synchronisation unterstützen. Gleichzeitig ist er aber auch für erfahrene DBAs geeignet, und erleichtert enorm Arbeitsaufwände im Arbeitsalltag. Im heutigen Beitrag betrachten wir – wie der Titel vielleicht schon vermuten …

Weiterlesen …Des Kaisers neue Kleider: Die Überarbeitung der grafischen Oberfläche des SQLSyncer – Teil 1

SQL Server & Docker: Volume Backup und Wiederherstellung

In diesem Artikel möchten wir das Erstellen und Wiederherstellen des Backups eines Docker Volumens das von einer SQL Server Installation genutzt wird, betrachten. Stellen wir uns zunächst folgende Ausgangssituation vor: Auf einem Docker Container läuft ein MS SQL Server 2017, der auf einem Volumen benötigte Daten gespeichert hat. Dieses Volumen, oder viel mehr die Daten auf diesem Volumen, sind persistent. Das bedeutet, dass auch nach einem Neustart des Containers die gespeicherten Informationen noch vorhanden sind. Tipp: Sollen die gespeicherten Daten nach einem Neustart verschwinden, kann auf folgende Weise die “-v” Flagge genutzt werden: docker-compose down -v. Hier die zur Situation zugehörige …

Weiterlesen …SQL Server & Docker: Volume Backup und Wiederherstellung

Secured By miniOrange