(Automatisierte) Migration einer SQL Server Datenbank

Die Migration einer SQL Server Datenbank kann, je nach äußeren Umständen, eine kritische Operation darstellen. Vor allem dann, wenn die Instanz oder die auf der Instanz befindlichen Datenbanken zeit-kritischen Abläufen unterliegen und sich eine “Downtime” nicht leisten können. Die herkömmliche Migration besteht oft aus dem Erstellen und Einspielen von Backups. Da die Datenbanken nach dem Erstellen der Backups jedoch weiter zur Verfügung stehen müssen, entsteht eine Differenz zwischen dem Echtzeit-System und der erstellen Backup-Datei. Diese Differenzen müssen anschließend mühselig über den Transaktionslog der Datenbank aufgearbeitet werden, um die Äquivalenz der Zustände der Datenbanken wiederherzustellen. Change Data Capture Ein von Microsoft …

Weiterlesen …(Automatisierte) Migration einer SQL Server Datenbank

Entwicklungsumgebungen in der Mainzer Datenfabrik

In der Mainzer Datenfabrik widmen wir uns den verschiedensten Aufgaben unserer Kunden. Ob Consulting oder Entwicklung von maßgeschneiderter Software, die Aufgabe und ihre Qualität steht und fällt mit den gegebenen Mitteln. In unserem Fall ist das die Entwicklungsumgebung. Auf den verschiedensten Gebieten und mit einer Vielzahl an Werkzeugen versuchen wir stets die Zufriedenheit unserer Kunden zu gewinnen. Ein Teil dieser Werkzeuge wird im Folgenden vorgestellt. SQL Server Der SQL Server von Microsoft bildet das Fundament auf dem unsere Expertise aufbaut. Egal welche Idee, welche Aufgabe oder welches Problem, wir stehen mit Erfahrung und fundiertem Fachwissen zur Seite und sind stets …

Weiterlesen …Entwicklungsumgebungen in der Mainzer Datenfabrik

Details über den Zugriff von Tabellen

Es gibt kaum eine bessere Möglichkeit Einsicht in das Gebiet zu bekommen, als sich Tipps und Tricks von Entwicklern und Datenbanken-Administratoren abzuschauen. Einer dieser Tricks ist beispielsweise die folgende Abfrage, die alle Details über den Zugriff von Tabellen darlegt. SELECT DB_NAME(ius.[database_id]) AS [Database], OBJECT_NAME(ius.[object_id]) AS [TableName], MAX(ius.[last_user_lookup]) AS [last_user_lookup], MAX(ius.[last_user_scan]) AS [last_user_scan], MAX(ius.[last_user_seek]) AS [last_user_seek], MAX(ius.[last_user_update]) AS [last_user_seek] FROM sys.dm_db_index_usage_stats AS ius WHERE ius.[database_id] = DB_ID() –AND ius.[object_id] = OBJECT_ID(‘YourTableName’) GROUP BY ius.[database_id], ius.[object_id] Wenn diese Abfrage ausgeführt wird, liefert sie essentielle Informationen über Suche, Scan, Abfrage sowie Update der Tabelle. Mit einem einfachen Blick auf den Report der Abfrage …

Weiterlesen …Details über den Zugriff von Tabellen

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)

Fortschritt der SELECT INTO-Anweisung

Zu Überwachungszwecken möchten wir uns einen ungefähren Überblick über den Fortschritt  der Anweisung “SELECT … INTO” während der Ausführung verschaffen (ca. Zeilenanzahl, Anzahl der geschriebenen Bytes oder ähnliches). Die Anweisung sieht ungefähr so ​​aus wie SELECT … INTO DestTable FROM SrcTable Wenn Sie das INSERT abändern von SELECT … INTO DestTable FROM SrcTable in INSERT DestTable SELECT … FROM SrcTable Können Sie den Status einfach Abfragen select count(*) from DestTable with (nolock) → Hier findest Du den Artikel zum direkten PDF-Download: madafa.de/download/artikel-downloads/

Wie verfolge ich den Fortschritt des Befehls CREATE INDEX?

Wie können Sie den Fortschritt überprüfen beim Erstellen eines Indexes? !! Sie müssen SET STATISTICS PROFILE ON hinzufügen. oder SET STATISTICS XML ON; In dem Abfrage-Batch, der den CREATE INDEX ausführt (und vor der CREATE INDEX-Anweisung steht, falls dies nicht offensichtlich war), werden in dieser DMV für diese SPID / session_id keine Zeilen angezeigt !! Der IN-Operator wird verwendet, um die Indexeinfügezeile herauszufiltern, die, falls enthalten, die TotalRows-Werte erhöht, wodurch die Berechnungen verzerrt werden, da in dieser Zeile keine verarbeiteten Zeilen angezeigt werden. Die hier angezeigte Zeilenzahl (dh TotalRows) ist doppelt so hoch wie die Zeilenzahl der Tabelle, da zwei …

Weiterlesen …Wie verfolge ich den Fortschritt des Befehls CREATE INDEX?

SQL Server Collation ändern

Sollte es erforderlich bei einem bereits installierten Windows SQL Server die Collation zu ändern,so geht man wie folgt vor. Starten der CMD Wechseln in das SQL Server Install Verzeichnis setup.exe /quiet /action=rebuilddatabase /sqlcollation=SQL_Latin1_General_CP1_CI_AS /instancename=MSSQLSERVER /SQLSYSADMINACCOUNTS=BUILTIN\Administrators Dies ist die minimale Anzahl an Parametern, die man übergeben muss. In diesem Beispiel soll die Standardinstanz (interner Name MSSQLSERVER) aktualisiert werden. → Hier findest Du den Artikel zum direkten PDF-Download: madafa.de/download/artikel-downloads/