Wie man Testdaten mit Hilfe des SQL Data Generators erzeugt

September 8th, 2022

In diesem Artikel untersuchen wir den Prozess der Befüllung der Mitarbeiterdatenbank mit Dummy-Daten, dessen Schema wir vorab entworfen haben. Das Befüllen einer SQL-Datenbank mit Dummy-Daten kann für die Durchführung von Tests nützlich sein. Der einfachste Weg ist die Befüllung von SQL-Tabellen mit Zufallsdaten mit Hilfe von Tools zur visuellen Datengenerierung.

Datengenerierung mit Hilfe des Data Generator for SQL Server

Das Tool Data Generator for SQL Server ist sowohl in SSMS als auch in dbForge Studio integriert. Wichtig hierbei ist, dass realistische Testdaten auf Grundlage von Spaltenüberschriften, Dimensionen und Datentypen generiert werden. Darüber hinaus werden auch die Beziehungen zwischen den Tabellen berücksichtigt, da der Datengenerierungsprozess von ihnen abhängt.

Um diese Komponente zu öffnen, klicken Sie für die erforderliche Datenbank in SSMS mit der rechten Maustaste auf Data Generation > New Data Generation:

Abb. 1. Ausführen des Tools Data Generator for SQL Server in SSMS

Wenn Sie dbForge Studio verwenden, wählen Sie im Hauptmenü Tools > New Data Generation:

Abb. 2: Ausführen des Tools Data Generator for SQL Server in dbForge Studio

Im dem Fenster Data Generator Project Properties, sehen Sie auf der Registerkarte Connection die aktuelle MS SQL Server-Instanz und die für die Datengenerierung ausgewählte Datenbank, die Sie (falls erforderlich) bearbeiten können. Klicken Sie dann auf Next:

Abb. 3: Konfiguration der Registerkarte Connection

Legen Sie anschließend auf der Registerkarte Options die Optionen für die Datengenerierung fest:

Abb. 4: Konfiguration der Optionen für die Datengenerierung

Beachten Sie, dass Sie SQL-Testdaten in verschiedenen Modi erzeugen können:

1. Nach festgelegter Zeilenanzahl (standardmäßig 1.000 Zeilen)

2. Nach Anteil der vorhandenen Daten am Volumen in Prozent (standardmäßig 10%)

3. Durch Erzeugung von Daten nach Zeit (standardmäßig 10 Sekunden)

Sie können auch Daten vor der Generierung löschen, indem Sie den Parameter Truncate data from table before generation setzen.

Sie können den Wertverteilungsmodus auf eine der folgenden Arten einstellen:

1. Zufällig nach Zeitstempel

2. Zufällig nach Seed (Standartwert 1)

3. Sequentiell

Außerdem können Sie die Spalteneigenschaften festlegen:

1. Eindeutige Werte einstellen

2. NULL-Werte einbeziehen (standardmäßig 10 % der Zeilen)

3. Leere Werte einbeziehen (standardmäßig 10 % der Zeilen)

Sie können die Konfigurationen in einer .bat-Datei speichern, indem Sie unten links im Fenster mit den Konfigurationen für die Datengenerierung auf Save Command Line klicken.

Wenn Sie mit den Konfigurationen fertig sind, klicken Sie unten rechts im Fenster mit den Konfigurationen für die Datengenerierung auf Open.

Sie sehen dann einen Fortschrittsbalken, der anzeigt, dass die Tabellen-Metadaten geladen werden. Danach erscheint ein Fenster mit den detaillierten Konfigurationen für die Datengenerierung für jede ausgewählte Tabelle:

Abb. 5: Detaillierte Konfigurationen für die Datengenerierung für jede ausgewählte Tabelle

Auf der linken Seite wählen Sie die Tabellen und Spalten aus, die Sie befüllen möchten. Auf der rechten Seite legen Sie den Tabellenerstellungsmodus für die ausgewählte Tabelle fest.

Weiter unten finden Sie die Instanzen der generierten Daten (beachten Sie, dass es sich um echte Namen handelt).

In der oberen rechten Ecke befindet sich eine Schaltfläche mit den oben beschriebenen Konfigurationen für die Datengenerierung.

Um die Datengenerierung zu starten, klicken Sie auf den grünen Pfeil in der oberen Mitte des Dialogfeldes. Ein Dialogfeld zur Auswahl weiterer Konfigurationen erscheint. Hier müssen Sie auf der Registerkarte Output genau auswählen, in welcher Form die Daten generiert werden sollen: als Skript, als Datei oder als Datenbank. Wir wählen die letzte Option und klicken auf Next:

Abb. 6: Konfiguration der Registerkarte Output

Danach können Sie auf der Registerkarte Options zusätzliche Parameter festlegen. In diesem Fall müssen Sie die Optionen für die Datenbanksicherung deaktivieren und auf Next klicken:

Abb. 7: Konfiguration der Registerkarte Options

Auf der Registerkarte Additional Scripts können Sie zusätzliche Skripte festlegen. In unserem Fall klicken wir einfach auf Next:

Abb. 8: Konfiguration der Registerkarte Additional Scripts

Auf der Registerkarte Summary finden Sie Informationen sowohl zu den Konfigurationen und auch zu den Warnhinweisen. Hier können Sie auch alle Konfigurationen als .bat-Datei speichern, indem Sie auf Save Command Line klicken. Klicken Sie auf Generate, um den Datengenerierungsprozess zu starten:

Abb. 9: Allgemeine Informationen und Warnhinweise auf der Registerkarte Summary

Es erscheint das Datengenerierungsfenster:

Abb. 10: Datengenerierungsprozess

Anschließend werden die Tabellen mit Daten befüllt. Die Tabelle Employee enthält z.B. folgende generierte Daten:

Abb. 11: Beispiel für generierte Daten in der Tabelle Employee

Fazit

Wir haben die Datenbank mit realistischen Daten befüllt, um sowohl die Funktionalität als auch die Auslastung zu testen. Für Lasttests lassen sich viel mehr Zufallsdaten generieren. Darüber hinaus kann der eigentliche Testprozess mit Hilfe des dbForge Unit Test Werkzeugs beschleunigt werden.

Mit Hilfe der SQL-Datengenerierung können Sie nicht nur die Wachstumsrate der Datenbank berechnen, sondern auch den Unterschied in der Abfrageleistung, der sich aus dem Anstieg des Datenvolumens ergibt.

Im nächsten Artikel sprechen wir über die Möglichkeiten, Daten aus einer SQL Server-Datenbank mit Hilfe von Export und Import in eine andere zu übertragen.

Comments are closed.