PostgreSQL – Datenkonsistenzprobleme bei der logischen Replikation

Im Gegensatz zur physischen Replikation ist der Schreibzugriff auf den Teilnehmerknoten bei der logischen Replikation nicht deaktiviert. Dies bedeutet, dass DML- und DDL-Anweisungen wie INSERT, UPDATE, DELETE oder ALTER auf dem Abonnenten ausgeführt werden können. Da die Replikation jedoch unidirektional ist, werden diese Änderungen nicht zurück an den Herausgeber repliziert. Dieses Verhalten kann zu Problemen führen – die Replikation kann mit all ihren Konsequenzen gestoppt werden oder die Daten können nicht mehr synchron sein. In diesem Beitrag möchten wir einige Tipps zum Umgang mit solchen Problemen geben. Zur Erinnerung können Sie hier noch einmal sehen, wie die Architektur der logischen …

Weiterlesen …PostgreSQL – Datenkonsistenzprobleme bei der logischen Replikation

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

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

Synchronisation zweier SQL Server Datenbanken

In unserem heutigen Artikel möchte ich ein Verfahren zur Synchronisation von zwei SQL Server Datenbanken vorstellen und dieses im Anschluss mit der alternativen Verwendung von Automatisierungen für Migration und Synchronisation am Beispiel des SQLSyncers vergleichen. Problem: Wie vergleicht man Datenbanken Schemata in SQL Server? Im ersten Abschnitt möchte ich ein Verfahren zum Vergleich von Datenbanken Schemata vorführen. Dabei werden wir ausschließlich auf den Vergleich von Tabellen, Spalten und Constraints (einschließlich der Indexe) eingehen. Andere Objekte, wie beispielsweise Sichten oder gespeicherte Prozeduren, können ebenfalls in das Verfahren einbezogen werden, sind aber nicht Teil des heutigen Artikels. Um dem Verfahren folgen zu …

Weiterlesen …Synchronisation zweier SQL Server Datenbanken

SQL Server Instanz Historisierung

Im Rahmen einer Migration, dem Aufspielen neuer Updates oder dem Ausrollen von Anwendungen auf einer SQL Server Instanz, tritt oft eine nicht all zu untypische Situation ein: das Auftreten eines Problems sorgt dafür, dass der Vorgang abgebrochen und alle getätigten Änderungen rückgängig gemacht werden müssen. Was das für die SQL Server Instanz mit all ihren Datenbanken, Logins, Agent Jobs, Ansichten, Prozeduren, Funktionen, etc. bedeutet, ist dabei oftmals alles andere als trivial: strukturelle Änderungen an allen Objekten müssen explizit nachvollzogen und entsprechend umgesetzt werden. In diesem Artikel möchten wir Ihnen unseren Umgang mit einer solchen Situation (gerade im direkten Einsatz bei …

Weiterlesen …SQL Server Instanz Historisierung

SQL Syncer – Speichern/Laden einer Konfiguration

In der Mainzer Datenfabrik freuen wir uns Sie stets über interessante Neuerungen und Änderungen zu informieren. Heute ist es wieder so weit: Mit dem Speichern und Laden einer benutzten Konfiguration können sie sich in Zukunft bei der Verwendung des SQL Syncers das redundante Erstellen einer Migrationsstrategie nach dem ersten Mal sparen. Dies funktioniert wie folgt: Nach dem Start des SQL Syncers kann mit einem Klick auf Load Config eine bereits vorhandene Konfigurations-Datei geladen werden. Lediglich das Passwort und der Benutzername (falls SQL Authentifizierung ausgewählt wurde) müssen aus Sicherheitsgründen erneut eingetragen werden. Um eine erstellte Migrationsstrategie zu speichern, genügt ein Klick …

Weiterlesen …SQL Syncer – Speichern/Laden einer Konfiguration

Migration einer existierenden System-versionierten Tabelle (temporale Tabelle)

Temporale Tabellen sind ein nützliches Werkzeug wenn es darum geht, voll automatisch den Verlauf von Datenänderungen nachzuverfolgen. Sie machen sich die Funktionalität von automatisch generierten Spalten innerhalb der Tabelle zu Nutzen und beschreiben so einen Zeitraum über den Zustand der Daten. Diese automatisch generierten Spalten sorgen beim Anwender jedoch oft für Probleme, gerade in Hinsicht auf Server-Migration. Eine temporale Tabelle zu übertragen, und dabei den Urzustand der Tabelle wieder herstellen zu können, ist keine leichte Aufgabe. Im Folgenden betrachten wir ein Beispiel davon, welche Strategie genutzt werden kann, um ohne Probleme eine temporale Tabelle zu Übertragen und den allgemeinen Umgang …

Weiterlesen …Migration einer existierenden System-versionierten Tabelle (temporale Tabelle)