Überwachen von SQL Server-Anmeldungen und Serverrollen mit PowerShell

Problem Eine der vielen Rollen, die SQL Server-Datenbankadministratoren spielen müssen, ist die Rolle der “Sicherheitspolizei” für die zur Verfügung stehenden Instanzen. Wenn wir dutzende oder hunderte von Instanzen betreuen, wäre es dann nicht hilfreich zu wissen, welche Anmeldungen in unseren Instanzen erstellt werden und welche Serverrollen sie derzeit haben? Auf diese Weise können wir einen ersten Blick auf ein bestimmtes Login werfen, das sich entweder “nicht richtig anfühlt”, einfach nicht in der Instanz sein soll oder dem eine bestimmte Rolle zugewiesen ist. Einer der häufigsten Fehler besteht darin, sich für einzelne Benutzer mit der Sysadmin-Serverrolle anzumelden. Mit dem hier vorgestellten …

Weiterlesen …Überwachen von SQL Server-Anmeldungen und Serverrollen mit PowerShell

Überwachen von SQL Server mit PowerShell Core Object Setup

Problem In SQL Server können viele Dinge überwacht werden, z. B. Sicherungen, SQL Agent-Jobs, Konfigurationsänderungen usw. Es gibt verschiedene Tools, die mit SQL Server mitgeliefert werden, sowie Tools von Drittanbietern, mit denen diese Dinge nachverfolgt werden können. Das einzige Problem bei den meisten Ansätzen besteht darin, dass zur Überwachung von SQL Server verschiedene Techniken verwendet werden. Wir werden uns daher mit der Erstellung einer PowerShell-Überwachungslösung für SQL Server befassen. Dies gibt uns eine kostenlose Überwachungsoption sowie eine Option, die wir nach Bedarf anpassen können. Lösung Dem folgenden Modul, das wir zusammenstellen werden, werden die Kernkomponenten erstellt, die von anderen Teilen …

Weiterlesen …Überwachen von SQL Server mit PowerShell Core Object Setup

SQL Server Query Tuning mit Statistics Time und Statistics IO

Es gibt sehr viele Mittel und Wege die Leistung von SQL Server T-SQL Code zu optimieren. Doch wie kann man sich sicher sein, dass gewisse Änderungen den Code tatsächlich effizienter und schneller machen und nicht etwa das Gegenteil bewirken, den Code langsamer machen oder gar beschädigen? Natürlich kann die Ausführungszeit einer Abfrage überprüft werden, doch reicht dies wirklich aus, um festzustellen ob eine Verbesserung vorliegt? Ist eine Abfrage beispielsweise nach 1-2 Sekunden beendet, so reicht die Genauigkeit der Zeitangabe für eine tatsächliche Verifizierung einer Verbesserung nicht aus. Dinge wie Caching und Parallelität können die Statistik der Ausführungszeiten von Abfragen durchaus …

Weiterlesen …SQL Server Query Tuning mit Statistics Time und Statistics IO

Migration von SQL Server 2008 R2 SQL Server 2016

Der erweiterte Support für SQL Server 2008 und 2008R2 wird von Microsoft seit dem 9. Juli 2019 nicht mehr zur Verfügung gestellt. Dies bedeutet, dass es in Zukunft keine Updates für SQL Server 2008 mehr geben wird. Wenn Sie also noch SQL 2008 verwenden, ist es an der Zeit, Ihren Server auf eine neuere Version von SQL Server 2016 zu aktualisieren. Viele Unternehmen bevorzugen immer häufiger die Migration von SQL Server 2008 auf SQL Server 2016, da dies eine sichere und saubere Lösung für die wichtigen Datenbestände ist. Wenn Sie auch in dieser Situation sind und nach einer zuverlässigen und …

Weiterlesen …Migration von SQL Server 2008 R2 SQL Server 2016

Regulatorische Anforderungen für die IT und die sorgfältige Arbeit mit Datenbanken unter Berücksichtigung von MaRisk

Informationstechnik (IT) ist in fast jedem Unternehmen die Grundlage von allen Services und Bereichen – ohne, dass es bewusst ein Thema ist. Alleine die tägliche und routinierte Nutzung von technischen Geräten und das Speichern von Daten ist die Basis von jeglicher IT. Und gerade für den Umgang mit sensiblen Daten sind IT-Spezialisten und -Dienstleister gefragt, die immer mehr an Bedeutung gewinnen. Im Bezug auf die Finanzwirtschaft, die mit besonders sensiblen Daten und Zahlen zu tun hat, wird IT-Security (Sicherheit) und das IT-Risikomanagement weiter an Bedeutung gewinnen. In Zeiten, in denen Hackerangriffe und Fremdzugriffe auf unsere Daten alltäglich sind, ist eine …

Weiterlesen …Regulatorische Anforderungen für die IT und die sorgfältige Arbeit mit Datenbanken unter Berücksichtigung von MaRisk

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

Resumable Online Index Create and Rebuild Operations

Anders als beim SQL Server 2017, bei dem nur eine wiederaufnehmbare Online-Indexwiederherstellung durchgeführt werden kann, verfügt SQL Server 2019 über die Funktion Resumable Online Index Create. Doch wofür wird diese Funktion genau gebraucht? Angenommen, wir müssen einen Index für eine sehr große Tabelle mit über einer Millionen Zeilen erstellen. Das Erstellen dieses Index würde einige Zeit in Anspruch nehmen. Während der Erstellung des Index könnte ein unerwarteter Fehler auftreten, es könnte zu Leistungsproblemen oder einem Failover kommen, und die Anweisung zum Erstellen des Indexes muss abgebrochen werden. Dies würde sehr viel Zeit, Ressourcen und Nerven kosten, da der Index anschließend …

Weiterlesen …Resumable Online Index Create and Rebuild Operations

Grundlegende, ganzheitliche Methodiken zur Absicherung von Datenbanken unter Einhaltung der Datenschutzgesetze

Dieser Artikel befasst sich mit grundlegenden Methodiken zur Absicherung Deiner Datenbank unter Einhaltung der aktuellen Datenschutzgesetze. In Zeiten von Cyberangriffen und (digitalem) Datenmissbrauch, aus Neugierde oder finanzieller Absicht, ist diese Absicherung obligatorisch für die Geheimhaltung unserer Kunden- und unternehmensinternen Daten! Egal ob wir unsere Datenbanken mit Oracle, Microsoft SQL Server, IBM DB2 oder Sybase speichern – wir helfen Dir gerne bei der Verschlüsselung und zeigen Dir hier erste Tipps und Tricks auf, wie Du die gesetzliche Vorgaben des Datenschutzes wie SOX, PCI-DSS oder GLBA einhalten kannst. Diese neue Art der Absicherung (bislang kennen wir ausschließlich Firewalls, IDS/IPS, Antivirus usw.) gewährleistet …

Weiterlesen …Grundlegende, ganzheitliche Methodiken zur Absicherung von Datenbanken unter Einhaltung der Datenschutzgesetze

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