db-berater-server-2

SQL Server Blog

Installation | Konfiguration | Optimierung von Microsoft SQL Server

Eigene Systemprozeduren im Kontext der aktuellen Datenbank

Weitläufig versteht man als “Systemprozedur” in Microsoft SQL Server eine Stored Procedures, die in der master-Datenbank gespeichert wird und mit dem Präfix ‘sp_’ beginnt”. Alle Objekte in der master-Datenbank mit diesem Präfix können aus jeder beliebigen Datenbank aufgerufen und verwendet werden.”; auch das ist eine weit verbreitete Aussage, die so – pauschal –  nicht richtig ist; oder anders ausgedrückt nicht immer das gewünschte Ergebnis liefert. Der folgende Artikel zeigt die Besonderheiten bei der Verwendung von Systemobjekten auf und welche Dinge zu beachten sind, wenn man mit gleichen Objekten in unterschiedlichen Schemata arbeitet.

mehr lesen

Inside the engine – Feste Typenlänge wird variable Typenlänge

In einem Forenbeitrag der deutschen msdn SQL Server Foren wurde ein Problem beschrieben, bei dem die nachträgliche Konvertierung eines Attributs mit fester Zeichenlänge dazu führt, dass in der Ausgabe der Daten die Informationen mit Leerzeichen aufgefüllt werden. Das es sich hierbei um ein “normales” Verhalten von Microsoft SQL Server handelt, beschreibt der nachfolgende Artikel.

mehr lesen

Inside the engine – Erstellung eines Fremdschlüssels

In einem Forumsbeitrag auf msdn wurde gefragt, wie genau Microsoft SQL Server vorgeht, wenn eine Fremdschlüsselbeziehung implementiert werden muss. Insbesondere ging es dabei um die Frage, welche Sperren Microsoft SQL Server setzt und welchen Einfluss diese Sperren...

mehr lesen

Zentralen Verwaltungsserver in Verwaltung aufnehmen

Wer schon mal mit einem “Zentralen Verwaltungsserver” in Microsoft SQL Server gearbeitet hat, wird dieses Feature nicht mehr missen wollen. Insbesondere in sehr großen Serverlandschaften erleichtert es die Arbeit ungemein, da mit wenigen Handgriffen Anpassungen an den...

mehr lesen

Temporal Tables – lang laufende Transaktionen

Im englischsprachigen Forum für Microsoft SQL Server kam eine Frage auf, in der es darum ging, dass zwei explizite Transaktionen den gleichen Datensatz / Datensätze einer System Versioned Temporal Table ändern wollen. Dabei kommt es zu Konflikten, die schwierig zu...

mehr lesen

Temporal Tables und INSTEAD OF-Trigger

Mit der Einführung von System Versioned Temporal Tables wurde für die Programmierer ein Weg geschaffen, um eigene Historisierungslösungen ad acta zu legen. In grauer Vorzeit verwendete man entweder Trigger oder Stored Procedures für die Entwicklung einer eigenen Historisierungslösung. Die Möglichkeiten dieser Lösungen waren beschränkt und unter Umständen sehr fehleranfällig. Viele Entwickler haben den Wunsch, im Datensatz den Benutzer zu speichern, der zuletzt Änderungen vorgenommen hat. Üblicherweise kann das nur mit Hilfe eines UPDATE-Triggers geschehen. Das AFTER-Trigger erhebliche Probleme in System Versioned Temporal Tables verursachen können, habe ich im Artikel “Temporal Tables – Verwendung von Triggern” bereits beschrieben. INSTEAD OF Trigger sind in System Versioned Temporal Tables nicht erlaubt. Was also tun? Dieser Artikel beschreibt eine Lösung, in der INSTEAD OF-Trigger dennoch zum Erfolg führen.

mehr lesen