blog.Mainzer Datenfabrik

Verwendung eine Schema-only Klons

cover image of blog article 'Verwendung eine Schema-only Klons'

In einem früheren Artikel haben wir Ihnen bereits erklärt, wie eine Datenbank für Optimierungszwecke geklont werden kann. Benutzt wurde dafür DBCC CLONEDATABASE. Was man nun mit der geklonten Datenbank machen kann, wollen wir uns in diesem Artikel anschauen.

Kurze Wiederholung

Bevor wir uns verschiedene Anwendungsszenarien anschauen, raten wir Ihnen dazu, diesen Artikel zu lesen. Wie bereits erwähnt, sprechen wir hier über verschiedene Wege eine Datenbank zu klonen. Dabei wollen wir uns mit dem Befehl DBCC CLONEDATABASE beschäftigen. Mithilfe dieses Befehls wird ein Schema-only Klon erstellt. Das bedeutet, dass keine Daten der DB kopiert werden, die Statistiken und somit die Execution Pläne werden dagegen gespeichert. Doch was nutzen uns diese Statistiken?

Optimierung von Queries

Weist eine Datenbank schlechte Performance auf, kann dies an schlechten Queries liegen. Jedoch ist das Troubleshooting für mögliche Ursachen mühsam und aufwendig. Damit nicht die Produktionsdatenbank beim Untersuchen der Daten beansprucht wird, kommt an dieser Stelle der Schema-only Klon zum Einsatz. Man kann sich ohne Probleme die tatsächlichen Execution Pläne anschauen und nicht nur geschätzte. Auch Änderungen an Queries und somit der Pläne können vorgenommen werden. Denn da der Klon keine Daten beinhaltet, wird das System nicht durch neue Berechnungen belastet. Stattdessen werden die bereits vorhandenen Statistiken verwendet. Zudem können auch DML Queries wie Insert, Update und Delete analysiert werden, da die Gefahr der Veränderung von tatsächlichen Daten nicht vorhanden ist. Der Nachteil ist jedoch, dass keine Veränderungen an CPU Zeit und I/O beobachtet werden können. Auch Änderungen an Indizes führt zu keinem Ergebnis, da hier eine neue Berechnung mit realen Daten erforderlich ist.

Kompatibilität prüfen

Sollte sich eine Datenbank noch auf einer älteren Version befinden, gibt es noch eine weitere Funktion des Klons. Denn hier kann ohne Probleme die Kompatibilität von anderen Versionen geprüft werden. Zum Vergleich kann eine Query auf der aktuellen Version ausgeführt werden und im Anschluss auf einer Neuen. Um die Kompatibilität zu ändern, muss sich die Datenbank jedoch in einem read-write Modus befinden. Dieser lässt sich mit folgender Zeile ändern.

ALTER DATABASE YourDBClone SET read_write WITH NO_WAIT

Es ist jedoch wichtig zu beachten, dass die Statistiken nicht automatisch aktualisiert werden. Würde man an dieser Stelle eine Query ausführen, werden diese stattdessen überschrieben. Darum sollte im Anschluss unbedingt diese Zeile ausgeführt werden.

ALTER DATABASE YourDBClone SET auto_update_statistics OFF WITH NO_WAIT

Nun können ohne Probleme die Execution Pläne in verschiedenen Versionen miteinander verglichen werden.

Seitennavigation

Zur Artikel Übersicht

Auf dieser Seite

SQL Server 2014 Migration SupportNEU
Im Sommer 2024 endet der Extended Support des Microsoft SQL Server 2014 SP3. Erfahren sie wie wir Sie bei Ihrer Migration unterstützen können! mehr erfahren