Assistent zum Generieren von Skripts

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

In diesem Artikel wird erläutert, wie Sie mit dem Assistenten zum Generieren von Skripts Skripts zur Übertragung einer Datenbank zwischen Instanzen von SQL Server, Azure SQL-Datenbank oder Azure SQL Managed Instance erstellen.

Sie können Skripts für eine SQL Server-Datenbank im lokalen Netzwerk oder in Azure SQL generieren. Die generierten Skripts können auf einer anderen Instanz von SQL Server oder in Azure SQL ausgeführt werden. Sie können Skripts für eine gesamte Datenbank oder für eine Auswahl bestimmter Objekte erstellen.

Ein ausführlicheres Tutorial zum Verwenden des Assistenten zum Generieren von Skripts finden Sie unter Tutorial: Assistent zum Generieren von Skripts.

Voraussetzungen

Die Quell- und Zieldatenbank können sich auf Azure SQL-Datenbank oder Azure SQL Managed Instance oder einer Instanz von Datenbank-Engine befinden, die mit SQL Server 2005 (9.x) oder späteren Versionen ausgeführt wird.

Berechtigungen

Die Mindestberechtigung für die Erstellung von Skripten ist die Mitgliedschaft in der festen Datenbankrolle db_ddladmin auf der Ursprungsdatenbank.

Verwenden Sie den Assistenten zum Generieren von Skripts

  1. Erweitern Sie im Objekt-Explorerden Knoten für die Instanz, die die Datenbank enthält, für die ein Skript erstellt werden soll.

  2. Klicken Sie mit der rechten Maustaste auf die Datenbank, für die Sie ein Skript erstellen möchten und wählen Sie Aufgaben>Skripte generieren aus.

    Screenshot des Assistenten zum Generieren von Skripts.

  3. Bearbeiten Sie die Dialogfenster des Assistenten:

Seite „Einführung“

Auf dieser Seite werden die Schritte zum Generieren eines Skripts beschrieben.

Diese Seite nicht mehr anzeigen – Diese Seite wird beim nächsten Starten des Assistenten zum Generieren von Skripts übersprungen.

Screenshot der Einführungsseite.

Seite „Objekte auswählen“

Wählen Sie auf dieser Seite aus, welche Objekte in die von diesem Assistenten generierten Skripts eingeschlossen werden sollen.

Option „Skript für gesamte Datenbank erstellen“ : Wählen Sie diese Option aus, um Skripts für alle Objekte in der Datenbank zu generieren und ein Skript für die Datenbank selbst einzuschließen.

Screenshot der gesamten Skriptdatenbank.

Bestimmte Datenbankobjekte auswählen: Wählen Sie diese Option aus, um den Assistenten auf die Generierung von Skripts für von Ihnen ausgewählte Objekte in der Datenbank einzuschränken:

  • Datenbankobjekte – Wählen Sie mindestens ein Objekt aus, das ins Skript eingeschlossen werden soll.

  • Alles auswählen – Aktiviert alle verfügbaren Kontrollkästchen.

  • Auswahl aufheben – Deaktiviert alle Kontrollkästchen. Sie müssen mindestens ein Datenbankobjekt auswählen, um den Vorgang fortsetzen zu können.

    Screenshot eines bestimmten Skripts.

Seite „Skripterstellungsoptionen festlegen“

Auf dieser Seite können Sie angeben, ob Skripts vom Assistenten am ausgewählten Speicherort gespeichert werden.

Optionen – Wenn der Assistent Skripts an einem Speicherort Ihrer Wahl speichern soll, wählen Sie Skripts an einem bestimmten Speicherort speichernaus. Sie können die Skripts später für eine Datenbank-Engine-Instanz oder für SQL-Datenbankausführen.

Skripts an einem bestimmten Speicherort speichern: Speichern Sie mindestens eine Transact-SQL-Skriptdatei an einem angegebenen Speicherort.

Screenshot von Als Notizbuch speichern.

  • Als Notebook speichern : Speichern Sie das Skript in einer oder mehreren SQL-Dateien. Wählen Sie die Schaltfläche zum Durchsuchen ( ) aus, um einen Namen und Speicherort für die Datei anzugeben.

  • Als Skriptdatei speichern Speichert das Skript in einer oder mehreren SQL-Dateien. Wählen Sie die Schaltfläche zum Durchsuchen ( ) aus, um einen Namen und Speicherort für die Datei anzugeben. Aktivieren Sie das Kontrollkästchen Vorhandene Datei überschreiben , um die Datei zu ersetzen, wenn bereits eine Datei mit dem gleichen Namen vorhanden ist. Wählen Sie Einzelne Skriptdatei oder Einzelne Skriptdatei pro Objekt aus, um anzugeben, wie die Skripts generiert werden sollen. Wählen Sie Unicode-Text oder ANSI-Text aus, um die Art von Text anzugeben, die im Skript verwendet werden soll.

  • In Zwischenablage speichern – Speichert das Transact-SQL-Skript in die Zwischenablage.

  • In neuem Abfragefenster öffnen: Generiert das Skript in einem Fenster des Datenbank-Engine-Abfrage-Editors. Wenn kein Editor-Fenster geöffnet ist, wird ein neues Editor-Fenster als Skriptziel geöffnet.

  • Erweitert – Zeigt das Dialogfeld Erweiterte Optionen an, in dem Sie erweiterte Skripterstellungsoptionen auswählen können.

Seite „Erweiterte Skripterstellungsoptionen“

Verwenden Sie diese Seite, um festzulegen, wie dieser Assistent Skripts generieren soll. Es sind viele verschiedene Optionen verfügbar. Die Optionen werden abgeblendet dargestellt, wenn sie von der SQL Server- oder SQL-Datenbank-Version, die in Datenbank-Engine-Typ angegeben ist, nicht unterstützt werden.

Screenshot der erweiterten Optionen.

Optionen – Sie können erweiterte Skriptoptionen angeben, indem Sie einen Wert aus der Liste der verfügbaren Einstellungen rechts neben den einzelnen Optionen auswählen.

Allgemein: Die folgenden Optionen gelten für das ganze Skript.

  • ANSI-Auffüllung – schließt ANSI PADDING ON in das Skript ein. Der Standardwert ist False.

  • An Datei anfügen – Im Falle von Truewird dieses Skript am Ende eines vorhandenen Skripts angefügt, angegeben auf der Seite Skripterstellungsoptionen festlegen . Im Falle von Falseüberschreibt das neue Skript ein vorheriges Skript. Der Standardwert ist False.

  • Vorhandensein von Objekten überprüfen: Wenn True festgelegt ist, wird für Ihre SQL-Objekte eine Überprüfung des Vorhandenseins vor dem Erstellen der CREATE-Anweisung hinzugefügt. Beispiele für solche Objekte sind Tabellen, Sichten, Funktionen oder gespeicherte Prozeduren. Die CREATE-Anweisung wird von einer IF-Anweisung umschlossen. Wenn Sie wissen, dass Ihr Ziel gut strukturiert ist, ist auch das Skript deutlich übersichtlicher. Wenn Sie NICHT verlangen, dass die Objekte im Ziel vorhanden sind, erhalten Sie eine Fehlermeldung. Der Standardwert ist False.

  • Skripterstellung bei einem Fehler fortsetzen: Bei False wird die Skripterstellung bei Auftreten eines Fehlers beendet. Bei True wird die Skripterstellung fortgesetzt. Der Standardwert ist False.

  • UDDTs in Basistypen konvertieren – Im Falle von Truewerden benutzerdefinierte Datentypen (UDDT) in die zugrunde liegenden Basisdatentypen konvertiert, die zu ihrer Erstellung verwendet wurden. Verwenden Sie True, wenn der UDDT in der Datenbank, in der das Skript ausgeführt wird, nicht vorhanden ist. Im Falle von Falsewerden UDDTs verwendet. Der Standardwert ist False.

  • Skript für abhängige Objekte generieren – Generiert ein Skript für jedes Objekt, das vorhanden sein muss, wenn das Skript für das ausgewählte Objekt ausgeführt wird. Der Standardwert ist True für die Option Skript für die gesamte Datenbank erstellen und False für Bestimmte Datenbankobjekte auswählen.

  • Beschreibende Header einschließen – Im Falle von Truewerden dem Skript beschreibende Kommentare hinzugefügt, mit denen das Skript für jedes Objekt in Abschnitte unterteilt wird. Der Standardwert ist False.

  • „IF NOT EXISTS“ einschließen – Im Falle von Trueenthält das Skript eine Anweisung, um zu überprüfen, ob das Objekt bereits in der Datenbank vorhanden ist, und versucht nicht, ein neues Objekt zu erstellen, wenn das Objekt bereits vorhanden ist. Der Standardwert ist False.

  • Einschränkungsnamen des Systems einschließen: Im Fall von FALSE(Standardwert) werden Einschränkungen, die automatisch in der Ursprungsdatenbank benannt wurden, in der Zieldatenbank automatisch umbenannt. Im Falle von Truehaben Einschränkungen in der Ursprungs- und der Zieldatenbank den gleichen Namen.

  • Nicht unterstützte Anweisungen einschließen – Im Falle von Falseenthält das Skript keine Anweisungen für Objekte, die unter der ausgewählten Serverversion bzw. dem ausgewählten Engine-Typ nicht unterstützt werden. Bei Trueenthält das Skript nicht unterstützte Objekte. Jede Anweisung für ein nicht unterstütztes Objekt enthält einen Kommentar, dass die Anweisung bearbeitet werden muss, bevor das Skript für die ausgewählte SQL Server-Version bzw. den ausgewählten Enginetyp ausgeführt werden kann. Der Standardwert ist False.

  • Objektnamen mit Schema qualifizieren – Schließt den Schemanamen im Namen der erstellten Objekte ein. Der Standardwert ist True.

  • Skriptbindung – Generiert ein Skript zum Binden von Standard- und Regelobjekten. Der Standardwert ist False. Weitere Informationen finden Sie unter CREATE DEFAULT (Transact-SQL) und CREATE RULE (Transact-SQL).

  • Skriptsortierung – Schließt Sortierungsinformationen ins Skript ein. Der Standardwert ist False. Weitere Informationen finden Sie unter Sortierungs- und Unicode-Support.

  • Skripterstellung für Standard – Schließt Standardobjekte ein, die zum Festlegen von Standardwerten in Tabellenspalten verwendet wurden. Der Standardwert ist True. Weitere Informationen finden Sie unter Angeben von Standardwerten für Spalten.

  • DROP und CREATE als Skript – Bei CREATE als Skript werden Transact-SQL-Anweisungen eingeschlossen, um Objekte zu erstellen. Bei DROP als Skript werden Transact-SQL-Anweisungen eingeschlossen, um Objekte zu löschen. Bei DROP und CREATE als Skript wird die Transact-SQL-DROP-Anweisung im Skript für jedes Objekt, für das ein Skript erstellt wird, eingeschlossen, gefolgt von der CREATE-Anweisung. Der Standardwert ist CREATE als Skript.

  • Skripterstellung für erweiterte Eigenschaften – Enthält erweiterte Eigenschaften im Skript, wenn das Objekt über erweiterte Eigenschaften verfügt. Der Standardwert ist True.

  • Skripterstellung für Engine-Typ – Erstellt ein Skript, das für den ausgewählten Typ von SQL-Datenbank bzw. den ausgewählten Typ einer Instanz der SQL Server-Datenbank-Engine ausgeführt werden kann. Für den angegebenen Typ nicht unterstützte Objekte werden nicht in das Skript eingeschlossen. Der Standardwert ist der Typ des Ursprungsservers.

  • Skripterstellung für Serverversion – Erstellt ein Skript, das für die ausgewählte Version von SQL Serverausgeführt werden kann. Neue Funktionen in einer Version können für eine Skripterstellung für frühere Versionen nicht verwendet werden. Der Standard ist die Version des Ursprungsservers.

  • Skripterstellung für Anmeldungen – Wenn das Objekt, für das ein Skript erstellt werden soll, ein Datenbankbenutzer ist, werden mit dieser Option die Anmeldungen erstellt, von denen der Benutzer abhängig ist. Der Standardwert ist False.

  • Skripterstellung für Berechtigungen auf Objektebene – Schließt Skripts ein, um die Berechtigung für Objekte in der Datenbank festzulegen. Der Standardwert ist False.

  • Skripterstellung für Statistiken – Wenn Skripterstellung für Statistikenfestgelegt ist, schließt diese Option die CREATE STATISTICS-Anweisung zum erneuten Erstellen der Statistiken für das Objekt ein. Mit der Option Skripterstellung für Statistiken und Histogramme können auch Histogramminformationen erstellt werden. Der Standardwert ist Keine Skripterstellung für Statistiken. Weitere Informationen finden Sie unter CREATE STATISTICS (Transact-SQL).

  • Skripterstellung für USE DATABASE – Fügt dem Skript die USE DATABASE-Anweisung hinzu. Die USE DATABASE-Anweisung muss enthalten sein, um sicherzustellen, dass Datenbankobjekte in der richtigen Datenbank erstellt werden. Wenn Sie das Skript in einer anderen Datenbank verwenden wollen, wählen Sie False aus, um die USE DATABASE-Anweisung auszulassen. Der Standardwert ist True. Weitere Informationen finden Sie unter USE (Transact-SQL).

  • Datentypen für Skripts: Wählt aus, was geskriptet werden soll: Nur Daten, Nur Schema oder beides. Der Standard ist Nur Schema.

Tabellen-/Sichtoptionen – Die folgenden Optionen gelten nur für Skripts für Tabellen oder Sichten.

  • Skript für Änderungsnachverfolgung erstellen – Die Änderungsnachverfolgung für Skripts wird in der Ursprungsdatenbank oder in den Tabellen in der Ursprungsdatenbank aktiviert. Der Standardwert ist False. Weitere Informationen finden Sie unter Informationen zur Änderungsnachverfolgung (SQL Server).

  • Skripterstellung für CHECK-Einschränkungen: Fügt dem Skript CHECK-Einschränkungen hinzu. Der Standardwert ist True. Für CHECK-Einschränkungen ist es erforderlich, dass Daten, die in eine Tabelle eingegeben werden, eine angegebene Bedingung erfüllen. Weitere Informationen finden Sie unter UNIQUE-Einschränkungen und CHECK-Einschränkungen.

  • Skripterstellung für Datenkomprimierungsoptionen – Schließt Datenkomprimierungsoptionen ein, wenn sie in der Ursprungsdatenbank oder den Tabellen in der Ursprungsdatenbank konfiguriert werden. Weitere Informationen finden Sie unter Datenkomprimierung. Der Standardwert ist False.

  • Skripterstellung für Fremdschlüssel – Fügt dem Skript Fremdschlüssel hinzu. Der Standardwert ist True. Mit Fremdschlüsseln können Beziehungen zwischen Tabellen angezeigt und erzwungen werden.

  • Skripterstellung für Volltextindizes – Dient zur Skripterstellung für Volltextindizes. Der Standardwert ist False.

  • Skripterstellung für Indizes – Dient zur Skripterstellung für Indizes für die Tabellen. Der Standardwert ist True für die Option Skript für die gesamte Datenbank erstellen und False für Bestimmte Datenbankobjekte auswählen. Mit Indizes können Sie Daten schneller finden.

  • Skripterstellung für Primärschlüssel – Dient zur Skripterstellung für Primärschlüssel für die Tabellen. Der Standardwert ist True. Mit Primärschlüsseln kann jede Zeile einer Tabelle eindeutig identifiziert werden.

  • Skripterstellung für Trigger – Dient zur Skripterstellung für DML-Trigger für Tabellen. Der Standardwert ist False. Ein DML-Trigger ist eine Aktion, die so programmiert ist, dass sie bei Auftreten eines DML-Ereignisses (Data Manipulation Language, Datenbearbeitungssprache) auf dem Datenbankserver ausgeführt wird. Weitere Informationen finden Sie unter DML Triggers.

  • Skripterstellung für eindeutige Schlüssel – Dient zur Skripterstellung für eindeutige Schlüssel für Tabellen. Mit eindeutigen Schlüsseln kann verhindert werden, dass doppelte Daten eingegeben werden. Der Standardwert ist True. Weitere Informationen finden Sie unter UNIQUE-Einschränkungen und CHECK-Einschränkungen.

Seite „Zusammenfassung“

Screenshot der GS-Zusammenfassung.

Auf dieser Seite sind die Optionen zusammengefasst, die Sie in diesem Assistenten ausgewählt haben. Um eine Option zu ändern, wählen Sie Zurück aus. Um mit dem Generieren von Skripts zu beginnen, wählen Sie Weiter aus.

Überprüfen Sie Ihre Auswahl – Zeigt die auf den einzelnen Seiten des Assistenten getroffene Auswahl an. Erweitern Sie einen Knoten, um die auf der betreffenden Seite ausgewählten Optionen anzuzeigen.

Seite „Skripts speichern“

Mithilfe dieser Seite können Sie den Status des Assistenten überwachen.

Details – Zeigen Sie die Spalte Aktion an, um den Status des Assistenten anzuzeigen. Nachdem der Assistent die Skripts generiert hat, speichert er die Skripts in einer Datei. Wenn diese Schritte alle abgeschlossen sind, wählen Sie den Wert in der Spalte Ergebnis aus, um das Ergebnis des entsprechenden Schritts anzuzeigen.

Bericht speichern: Wählen Sie diese Option, um den Fortschritt des Assistenten in eine Datei zu speichern.

Abbrechen: Wählen Sie diese Option, um den Assistenten vor Abschließen der Verarbeitung oder bei Auftreten eines Fehlers zu schließen.

Fertig stellen: Wählen Sie diese Option, um den Assistenten nach der Verarbeitung oder bei Auftreten eines Fehlers zu schließen.

Speichern von Skripts

Screenshot von Fertigstellung.

Wenn alle Einstellungen richtig sind, wird die Konfiguration erfolgreich abgeschlossen.

Erstellen von Skripts in Azure Synapse Analytics

Wenn die generiert Syntax bei Verwenden von „Skripterstellung als...“ nicht wie die Azure Synapse Analytics-Syntax aussieht, oder Sie eine Fehlermeldung erhalten, müssen Sie möglicherweise Ihre Optionen für die Skripterstellung in SQL Server Management Studio auf Azure Synapse Analytics festlegen.

Festlegen der Standardoptionen für die Skripterstellung auf SQL Data Warehouse

Damit Sie Skripts für Objekte mit der Azure Synapse Analytics -Syntax erstellen können, legen Sie die Standardoption für die Skripterstellung wie folgt auf Azure Synapse Analytics fest:

  1. Wählen Sie Tools und dann Optionen aus.
  2. Wählen Sie SQL Server-Objekt-Explorer und dann Skripterstellung aus.
  3. Legen Sie unter Versionsoptionen die Option Skripteinstellungen mit Quelle abgleichen auf False fest.
    1. Legen Sie Skript für den Datenbank-Engine-Typ auf Microsoft Azure SQL-Datenbankedition fest.
    2. Legen Sie für dedizierte SQL-Pools in Azure Synapse Analytics die Option Skript für die Datenbank-Engine-Edition auf Microsoft Azure SQL Data Warehouse Edition fest.
  4. Wählen Sie OK aus.

Generieren von Skripts für SQL Data Warehouse, wenn es nicht die Standardoption für die Skripterstellung ist

Wenn Sie Azure Synapse Analytics wie zuvor gezeigt als Standardoption für die Skripterstellung festlegen, können diese Anweisungen ignoriert werden. Wenn Sie jedoch andere Standardoptionen für die Skripterstellung verwenden, könnte ein Fehler auftreten. Um Fehler zu vermeiden, führen Sie folgende Schritte aus, um Skripts für Azure Synapse Analytics zu generieren:

  1. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf Ihren dedizierten SQL-Pool unter Datenbanken.
  2. Wählen Sie Skripts generieren aus.
  3. Wählen Sie die Objekte aus, für die Sie Skripts erstellen möchten.
  4. Wählen Sie in Skripterstellungsoptionen die Option Erweitert aus. Legen Sie unter Allgemein Folgendes fest:
    1. Skript für den Datenbank-Engine-Typ: Microsoft Azure SQL-Datenbank.
    2. Skript für die Datenbank-Engine-Edition: Microsoft Azure SQL Data Warehouse Edition.
  5. Wählen Sie Skripts speichern und dann Fertig stellen aus.

Die in Schritt 4 festgelegten Optionen werden nicht gespeichert. Wenn Sie diese Optionen speichern möchten, befolgen Sie die Anweisungen in Festlegen der Standardoptionen für die Skripterstellung auf SQL Data Warehouse.