Anleitung für den Import der SQL-Skripte in die Datenbank
Frage:
Wie werden die gespeicherten SQL-Skripte in die Datenbank des SQL-Servers importiert?
Antwort:
Daten, die mit SQL Server Repair Toolbox wiederhergestellt wurden, können mit mehreren Methoden gespeichert werden:
- Die Daten können in Form von SQL-Skripten auf der Festplatte gespeichert und im Weiteren ausgeführt werden. Im Ergebnis werden Tabellen und Objekte erstellt (Indizes, Prozeduren, Funktionen usw.). Anschließend werden die Daten in diese Tabellen importiert.
- Es können auch die vorgegebenen SQL-Skripte mit SQL Server Repair Toolbox gestartet werden, indem ein Connection-String für den angegebenen Speicher erstellt wird (SQL-Server und andere Datenbank).
Auch wenn sie auf denselben Datenbankdateien basieren, können sich die SQL-Skripte unterscheiden. Das hängt mit der Besonderheit der Syntax der Anfragen zusammen, die bei der Verbindung der Server mithilfe von ADO ausgeführt werden sowie mit der Ausführung der SQL-Anfragen in der Query Analyzer Umgebung, die zusammen mit dem Microsoft SQL-Server bereitgestellt wird (Verwendung von ":", der Befehle Go usw.
- Konvertieren der wiederhergestellten Daten in SQL-Skripte und Speichern der Daten auf der Festplatte
- Ansicht der gespeicherten Daten
Wenn Sie den Modus für das Speichern auf der Festplatte gewählt haben, erstellt das Programm automatisch ein Unterverzeichnis in dem vom Benutzer angegebenen Verzeichnis und alle Skripte werden dort gespeichert. Die Namen der Skripte entsprechen den Regeln und bestehen aus Wörtern und Nummern. Das Wort gibt die Rolle an und die Zahl die Nummer. Es gibt viele Typen von Skripten z. B.:
- Types*.sql – vom Benutzer festgelegte Datentypen.
- Tables*.sql – Tabellen.
- Indexes*.sql – Primärschlüssel und Indizes.
- ForeignKeys*.sql – Sekundärschlüssel.
- Procedure*.sql – gespeicherte Prozesse.
- Function*.sql – vom Benutzer festgelegte Funktionen.
- View*.sql – Ansichten.
- Triggers*.sql – Trigger.
- Data*.sql – Datentabellen.
Die laufende Nummer des Skripts dient zur Aufteilung der Daten. Die Daten werden nicht in einer großen Datei, sondern in vielen kleinen Dokumenten gespeichert. Es ist wichtig zu wissen, dass alle Dateien des Typs Data lediglich die Daten einer Tabelle enthalten können.
Achtung: Einige Dateien haben keine Nummern. Das bedeutet, dass die Daten in einigen Tabellen fehlen oder dass sie nur sehr wenige Daten enthalten.
- Reihenfolge der Ausführung der Skripte
Die Zeichnung stellt die empfohlene Reihenfolge der Skriptausführung dar:
Die Reihenfolge der Skripte hängt von den vorhandenen Einschränkungen für die Daten und den Tabellenstrukturen ab. Insbesondere sind folgende Faktoren zu beachten:
- Geben Sie den entsprechenden Primärschlüssel an, wenn Sie einen Sekundärschlüssel erstellen möchten. Das ist die Grundlage dafür, dass diese Vorgänge in unterschiedlichen Dateien gespeichert werden, die in dieser Reihenfolge gestartet werden müssen.
- Nachdem die Indizes und sekundären Schlüssel erstellt wurden, füllt das Programm die Tabellen auf. Das ist notwendig, weil die Integrität der Verknüpfungen beim Eintragen in die Tabelle geprüft wird, in der ein zweiter Schlüssel bestimmt ist. Wenn die Tabelle mit den Sekundärschlüsseln bis zur Tabelle mit den entsprechenden Primärschlüsseln ausgefüllt wird, tritt ein Fehler auf. Außerdem gibt es bei dieser Methode eine weitere Besonderheit. Wenn ein Konflikt zwischen den wiederhergestellten Informationen und dem Primärschlüssel, dem einzigartigen Index usw. besteht, wird die Tabelle ausgefüllt, jedoch ohne dass Einschränkungen erstellt werden (Index, Primärschlüssel usw.). Wenn die Benutzer ein anderes Verhalten benötigen, müssen sie die Reihenfolge der Skriptausführung selbst wählen.
- Das Erstellen solcher Objekte wie Procedures, Functions, Views, Triggers in der Datenbank hat Besonderheiten, denn diese Objekte können verwirrende und komplizierte Beziehungen und Abhängigkeiten haben. Procedure kann auf andere Procedure-Objekte verweisen, View kann auf Function verweisen und Trigger kann auf alle Objekte verweisen. Deshalb kann das Programm diese komplizierten Zusammenhänge nicht entwirren. Der Benutzer muss die Beziehungen manuell finden und SQL in der richtigen Reihenfolge starten. Eine andere Möglichkeit besteht darin, alle Skripte dieser Gruppe mehrmals auszuführen, bis keine Fehlermeldungen mehr erscheinen.
- Datei Install.bat
Die Datei Install.bat wird erstellt, um die automatische Ausführung der Skripte zu ermöglichen. Diese Datei führt alle Skripte aus, die zuvor mithilfe des Programms gespeichert wurden. Die Skripte werden in derselben Reihenfolge ausgeführt wie bereits bei der Ausführung auf der Basis der Datenbank. Diese Paketdatei setzt voraus, dass das Dienstprogramm isqulw installiert ist. Sie ist Teil des Clients MS SQL Server. Geben Sie in der Befehlszeile die Parameter an wie Servername, Datenbankname, Benutzername, Passwort. Zum Beispiel: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword.
Anmerkung:
- Die Parameter müssen durch Leerzeichen getrennt werden. Enthält ein Parameter selbst ein Leerzeichen, müssen Sie ihn mit doppelten Anführungszeichen angeben.
- Die Parameter müssen in der genannten Reihenfolge angegeben werden.
Wenn die Datei install.bat ohne Angabe der Parameter gestartet wird, erscheint eine kurze Anleitung für den Start der Datei.
- InstallTrust.bat
Verwenden Sie die Datei InstallTrusted.bat, wenn Sie sich mit den Zugangsdaten für Ihr Windows-Konto anmelden. Die Datei InstallTrusted.bat hat zwei Parameter: Servername, Datenbankname.
Beispiel für die Verwendung: installtrusted.bat SQLServer SQLDatabase Ausführliche Hinweise über die Anmeldung mit den Zugangsdaten des Windows-Benutzerkontos finden Sie hier: https://docs.microsoft.com/de-de/sql/relational-databases/security/authentication-access/principals-database-engine?redirectedfrom=MSDN&view=sql-server-ver15
- Ansicht der gespeicherten Daten