4.7 (3)
Rating
(2)
(1)
(0)
(0)
(0)

FAQ-Wiki-SQL

Wie kann man gespeicherte SQL-Skripts in die Datenbank importieren?

Antwort:

Recovery Toolbox for SQL Server bietet zwei Möglichkeiten zum Speichern der Daten:

  1. Sie können SQL-Skripts auf Festplatte speichern. Dabei werden Datenbankobjekte, wie z.B. Tabellen, erstellt und in diese dann Daten eingefügt.
  2. Oder Sie können auch SQL-Skripts in benutzerdefinierten Datenbanken starten.

Bitte beachten Sie, dass SQL-Skripts sich unterscheiden können, obwohl sie auf denselben Dateien der Datenbank basieren. Das geschieht wegen der Syntaxbesonderheiten in Abfragen, die für direkte Server-Verbindung mittels ADO ausgeführt werden, und in SQL-Abfragen, die in der Abfragen-Analysierumgebung, welche zusammen mit MS SQL Server geliefert wird, ausgeführt werden (die Verwendung von “:”, der Befehl Go usw.). Die erste Möglichkeit ist zuverlässiger, die zweite bequemer.

Konvertieren der Daten in Skripts und ihre Speicherung auf Festplatte

  1. 1. Zuordnung gespeicherter Daten

    Wenn Sie Daten auf Festplatte speichern möchten, erstellt Recovery Toolbox for SQL Server ein Unterverzeichnis, das den Namen der MDF-Quelldatei enthält. Dieses Unterverzeichnis wird in einem benutzerdefinierten Verzeichnis erstellt und alle Skripts werden da gespeichert. Alle Skripts werden dabei nach einer Regel benannt. Die Namen bestehen dabei aus einem Wort und einer Zahl. Das Wort gibt die Rolle des Skripts an, die Zahl weist auf seine Nummer hin. Es gibt verschiedene Skripttypen, z.B.:

    • Types*.sql ( Typen *.sql) – diese Skripts erstellen benutzerdefinierte Datentypen
    • Tables*.sql ( Tabellen *.sql) – diese Skripts erstellen Tabellen
    • Indexes*.sql ( Indizes *.sql) – diese Skripts erstellen Primärschlüssel und Indizes.
    • ForeignKeys*.sql ( Fremdschlüssel *.sql) – diese Skripts erstellen Fremdschlüssel.
    • Procedure*.sql ( Prozedur *.sql) – diese Skripts erstellen Stored Procedures (Gespeicherte Prozeduren).
    • Function*.sql ( Funktion *.sql)– diese Skripts erstellen benutzerdefinierte Funktionen.
    • View*.sql ( Ansicht *.sql) – diese Skripts erstellen Ansichten.
    • Triggers*.sql ( Triggers *.sql) – diese Skripts erstellen Triggers.
    • Data*.sql ( Daten *.sql) – diese Skripts fügen Daten in Tabellen ein.

    Die laufende Nummer eines Skripts enthält keine brauchbaren Daten, sie gibt weder die Reihenfolge der Skriptausführung noch weitere Informationen an. Diese Zahlen dienen ausschließlich zum Aufteilen der Daten und ihrer Speicherung in mehreren kleinen Dokumenten anstatt in einer großen Datei. Benutzer können dabei selbst die maximale Größe für eine Datei mit SQL-Skripts angeben. Außerdem müssen Benutzer die Nummerierung der Datendateien beachten. Es muss gesagt werden, dass jede Datei für einen Datentyp Daten für nur eine Tabelle enthalten kann. Dateien mit Sequenznummern enthalten alle Daten für die jeweilige Tabelle.

    Hinweis: Wenn für bestimmte Dateien Zahlen fehlen, heißt es, dass diese Tabellen keine Daten enthalten.
  2. 2. Reihenfolge der Skriptausfuhrung

    Auf folgendem Bild können Sie die empfohlene Reihenfolge der Skriptausführung sehen:

    (Types – Typen; Tables – Tabellen; Data – Daten; Indexes – Indizes; Foreign Keys – Fremdschlüssel; Procedures – Prozeduren; Functions – Funktionen; Views – Ansichten; Triggers - Triggers)

    Die Reihenfolge der Skriptausführung hängt von den bestehenden Beschränkungen für vorhandene Daten und der Struktur der Tabelle ab. Bitte schenken Sie diesen Faktoren Ihre besondere Aufmerksamkeit:

    1. Geben Sie entsprechenden Primärschlüssel an, wenn Sie einen Sekundärschlüssel erstellen möchten. Damit werden alle Vorgänge in verschiedenen Dateien gespeichert, die in dieser Reihenfolge auch gestartet werden.
    2. Vor der Erstellung der Indizes und Sekundärschlüssel füllt das Programm die Tabellen aus. Es ist notwendig, da beim Ausfüllen einer Tabelle mit angegebenem Sekundärschlüssel referentielle Integrität geprüft wird. Beim Ausfüllen der Tabellen mit Sekundärschlüsseln vor den entsprechenden Tabellen mit Primärschlüsseln tritt ein Fehler auf. Außerdem weist dieses Verfahren noch eine weitere Besonderheit auf. Wenn wiederhergestellte Daten mit Primärschlüssel, eindeutigen Indizes usw. im Konflikt stehen, werden die Tabellen trotzdem mit Daten ausgefüllt, ohne dass Einschränkungen (Index, Primärschlüssel usw.) dabei erstellt werden. Wenn Benutzer ein anderes Verhalten benötigt, kann er selbst die Reihenfolge der Skriptausführung bestimmen.
    3. Die Erstellung von Procedures, Functions, Views und Triggers (Prozeduren, Funktionen, Ansichten und Triggers) in einer Datenbank ist mit gewissen Schwierigkeiten verbunden, da diese Objekte komplizierte und verwirrte Abhängigkeiten haben können. Procedures (Prozeduren) können auf andere Procedures (Prozeduren) verweisen, Views (Ansichten) können mit Functions (Funktionen) verbunden sein, Triggers (Triggers) können gleichzeitig auf alle Objekte verweisen. Das ist der Grund, warum das Programm bei der Lösung dieses Problems nicht helfen kann. Benutzer müssen selbst manuell alle Abhängigkeiten finden und SQL-Skripts in der benötigten Reihenfolge starten. Eine andere Möglichkeit besteht darin, alle Skripts in einer Gruppe mehrmals auszuführen, bis alle Fehlermeldungen verschwinden.
  3. 3. Install.bat Datei

    Install.bat Datei wird erstellt, um automatische Ausführung aller Skripts zu gewährleisten. Diese Datei führt alle Skripts aus, die vorher vom Tool gespeichert wurden. Die Reihenfolge der Skriptausführung ist dieselbe wie bei der Verwendung von Datenbanken. Diese Batchdatei erfordert, dass isqlw-Dienst (ein Teil von MS SQL Server Clientteil) zuvor installiert ist. Bitte geben Sie in der Befehlszeile für die install.bat Datei Parameter Server name (Servername), Database name (Datenbankname), Username (Benutzername) und Password (Kennwort) an. Zum Beispiel: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword (install.bat SQLServer SQLDatenbank SQLBenutzer SQLBenutzerkennwort)

    Achtung:
    1. Parameter müssen voneinander durch Leerzeichen getrennt sein. Wenn ein Parameter selbst ein Leerzeichen enthält, muss man ihn in doppelte Anführungszeichen einschließen.
    2. Die Reihenfolge der Parameter kann nicht geändert werden.
    3. Wenn die install.bat Datei ohne Parameter ausgeführt wird, sehen Sie eine kurze Anleitung, wie diese Datei gestartet wird.
  4. 4. InstallTrusted.bat

    Wenn Sie sich am Microsoft SQL Server mit Ihrem Benutzerkonto von Windows anmelden, verwenden Sie die Datei InstallTrusted.bat.

    Die Datei InstallTrusted.bat hat zwei Parameter: Servername, Datenbankname. Beispiel: installtrusted.bat SQLServer SQLDatabase Ausführliche Informationen über die Anmeldung mit Ihrem Benutzerkonto von Windows finden Sie hier: https://docs.microsoft.com/de-de/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017