Teilen über


Konvertieren von DB2-Schemas (DB2ToSQL)

Nachdem Sie eine Verbindung mit DB2 hergestellt, mit SQL Server verbunden und Projekt- und Datenzuordnungsoptionen festgelegt haben, können Sie DB2-Datenbankobjekte in SQL Server-Datenbankobjekte konvertieren.

Der Konvertierungsprozess

Beim Konvertieren von Datenbankobjekten werden die Objektdefinitionen von DB2 verwendet, in ähnliche SQL Server-Objekte konvertiert und diese Informationen dann in die SSMA-Metadaten geladen. Die Informationen werden nicht in die SQL Server-Instanz geladen. Anschließend können Sie die Objekte und deren Eigenschaften mit dem SQL Server Metadata Explorer anzeigen.

Während der Konvertierung gibt SSMA Meldungen im Ausgabebereich und Fehlermeldungen im Bereich „Fehlerliste“ aus. Verwenden Sie die Ausgabe- und Fehlerinformationen, um zu bestimmen, ob Sie Ihre DB2-Datenbanken oder Den Konvertierungsprozess ändern müssen, um die gewünschten Konvertierungsergebnisse zu erhalten.

Festlegen von Konvertierungsoptionen

Überprüfen Sie vor dem Konvertieren von Objekten die Projektkonvertierungsoptionen im Dialogfeld "Projekteinstellungen ". Mithilfe dieses Dialogfelds können Sie festlegen, wie SSMA Funktionen und globale Variablen konvertiert. Weitere Informationen finden Sie unter Project Settings (Conversion) (DB2ToSQL).

Konvertierungsergebnisse

Die folgende Tabelle zeigt, welche DB2-Objekte konvertiert werden, und die resultierenden SQL Server-Objekte:

DB2-Objekte Resultierende SQL Server-Objekte
Datentypen SSMA ordnet jeden Typ mit Ausnahme der folgenden aufgeführten Typen zu:

CLOB: Einige systemeigene Funktionen für die Arbeit mit diesem Typ werden nicht unterstützt (z. B. CLOB_EMPTY())

BLOB: Einige systemeigene Funktionen für die Arbeit mit diesem Typ werden nicht unterstützt (z. B. BLOB_EMPTY())

DBLOB: Einige systemeigene Funktionen für die Arbeit mit diesem Typ werden nicht unterstützt (z. B. DBLOB_EMPTY())
Benutzerdefinierte Typen SSMA ordnet die folgenden benutzerdefinierten Zuordnungen zu:

Unterschiedlicher Typ

Strukturierter Typ

SQL PL-Datentypen – Hinweis: Schwache Cursortypen werden nicht unterstützt.
Sonderregister SSMA ordnet nur die unten aufgeführten Register zu:

AKTUELLER ZEITSTEMPEL

AKTUELLES DATUM

AKTUELLE UHRZEIT

AKTUELLE ZEITZONE

AKTUELLER BENUTZER

SESSION_USER und BENUTZER

SYSTEM_USER

CURRENT CLIENT_APPLNAME

AKTUELLE CLIENT_WRKSTNNAME

AKTUELLE SPERRTIMEOUT

AKTUELLES SCHEMA

AKTUELLER SERVER

AKTUELLE ISOLATION

Andere spezielle Register werden nicht der SQL Server-Semantik zugeordnet.
CREATE TABLE SSMA ordnet CREATE TABLE mit den folgenden Ausnahmen zu:

Mehrdimensionale Clusteringtabellen (MDC)

Bereichsgeclusterte Tabellen (RCT)

Partitionierte Tabellen

Getrennte Tabelle

DATA CAPTURE-Klausel

OPTION IMPLIZIT AUSGEBLENDET

VERÄNDERLICHE Option
CREATE VIEW SSMA ordnet CREATE VIEW mit "WITH LOCAL CHECK OPTION" zu, andere Optionen werden jedoch nicht der SQL Server-Semantik zugeordnet.
CREATE INDEX SSMA ordnet CREATE INDEX mit den folgenden Ausnahmen zu:

XML-Index

Option "BUSINESS_TIME OHNE ÜBERLAPPUNGEN"

PARTITIONED-Klausel

OPTION "NUR SPEZIFIKATION"

OPTION "USING ERWEITERN"

MINPCTUSED-Option

OPTION "SEITE TEILEN"
Auslöser SSMA ordnet die folgende Triggersemantik zu:

AFTER /FOR EACH ROW Triggers

AFTER /FOR EACH STATEMENT Triggers

BEFORE / FOR EACH ROW and INSTEAD OF / FOR EACH ROW Triggers
Sequenzen Sind zugeordnet.
SELECT-Anweisung SSMA ordnet SELECT mit den folgenden Ausnahmen zu:

Data-change-table-reference clause - Teilweise zugeordnet, FINAL-Tabellen werden jedoch nicht unterstützt

Table-reference clause - Teilweise zugeordnet, aber only-table-reference, outer-table-reference, analyze_table-expression, collection-derived-table, xmltable-expression aren't mapped to SQL Server semantics

Period-Specification-Klausel - Nicht zugeordnet.

Continue-Handler-Klausel - Nicht zugeordnet.

Typed-Correlation-Klausel - Nicht zugeordnet.

Gleichzeitige Zugriffsauflösungsklausel – Nicht zugeordnet.
VALUES-Anweisung Ist zugeordnet.
INSERT-Anweisung Ist zugeordnet.
UPDATE-Anweisung SSMA ordnet UPDATE mit den folgenden Ausnahmen zu:

Table-reference clause - Only-table-reference is not mapped to SQL Server semantics

Period-Klausel - Ist nicht zugeordnet.
MERGE-Anweisung SSMA ordnet MERGE mit den folgenden Ausnahmen zu:

Single vs Multiple Occurrences of Each Clause – Wird der SQL Server-Semantik für begrenzte Vorkommen jeder Klausel zugeordnet

SIGNAL-Klausel – wird nicht der SQL Server-Semantik zugeordnet

Gemischte UPDATE- und DELETE-Klauseln – zuordnen nicht zur SQL Server-Semantik

Period-Klausel – wird nicht der SQL Server-Semantik zugeordnet
DELETE-Anweisung SSMA ordnet DELETE mit den folgenden Ausnahmen zu:

Table-reference clause - Only-table-reference is not mapped to SQL Server semantics

Period-Klausel – wird nicht der SQL Server-Semantik zugeordnet
Isolationsebene und Sperrtyp Ist zugeordnet.
Prozeduren (SQL) Sind zugeordnet.
Prozeduren (extern) Manuelle Aktualisierung erforderlich.
Prozeduren (Sourced) Ordnen Sie die SQL Server-Semantik nicht zu.
Assignment-Anweisung Ist zugeordnet.
CALL-Anweisung für eine Prozedur Ist zugeordnet.
CASE-Anweisung Ist zugeordnet.
FOR-Anweisung Ist zugeordnet.
GOTO-Anweisung Ist zugeordnet.
IF-Anweisung Ist zugeordnet.
ITERATE-Anweisung Ist zugeordnet.
LEAVE-Anweisung Ist zugeordnet.
LOOP-Anweisung Ist zugeordnet.
REPEAT-Anweisung Ist zugeordnet.
RESIGNAL-Anweisung Bedingungen werden nicht unterstützt. Nachrichten können optional sein.
RETURN-Anweisung Ist zugeordnet.
SIGNAL-Anweisung Bedingungen werden nicht unterstützt. Nachrichten können optional sein.
WHILE-Anweisung Ist zugeordnet.
GET DIAGNOSTICS-Anweisung SSMA ordnet GET DIAGNOSTICS mit den folgenden Ausnahmen zu:

ROW_COUNT – Ist zugeordnet.

DB2_RETURN_STATUS – Ist zugeordnet.

MESSAGE_TEXT – Ist zugeordnet.

DB2_SQL_NESTING_LEVEL – wird nicht der SQL Server-Semantik zugeordnet.

DB2_TOKEN_STRING – zuordnungt nicht zur SQL Server-Semantik
Cursor SSMA ordnet CURSORS mit den folgenden Ausnahmen zu:

ALLOCATE CURSOR-Anweisung – nicht der SQL Server-Semantik zugeordnet

ASSOCIATE LOCATORS-Anweisung – nicht der SQL Server-Semantik zugeordnet

DECLARE CURSOR-Anweisung – Returnability-Klausel ist nicht sql Server-Semantik zugeordnet.

FETCH-Anweisung – Partielle Zuordnung. Variablen als Ziel werden nur unterstützt. SQLDA DESCRIPTOR ist nicht der SQL Server-Semantik zugeordnet.
Variablen Sind zugeordnet.
Ausnahmen, Handler und Bedingungen SSMA ordnet die "Ausnahmebehandlung" mit den folgenden Ausnahmen zu:

EXIT-Handler - Sind zugeordnet.

UNDO-Handler – Sind zugeordnet.

CONTINUE-Handler - Sind nicht zugeordnet.

Bedingungen – Dies ist nicht der SQL Server-Semantik zugeordnet.
Dynamische SQL-Anweisungen Nicht zugeordnet.
Aliase Sind zugeordnet.
Spitznamen Partielle Zuordnung. Für das zugrunde liegende Objekt ist eine manuelle Verarbeitung erforderlich.
Synonyme Sind zugeordnet.
Standardfunktionen in DB2 SSMA ordnet DB2-Standardfunktionen zu, wenn eine entsprechende Funktion in SQL Server verfügbar ist:
Autorisierung Nicht zugeordnet.
Prädikate Sind zugeordnet.
SELECT INTO-Anweisung Nicht zugeordnet.
VALUES INTO-Anweisung Nicht zugeordnet.
Transaktionssteuerung Nicht zugeordnet.

Konvertieren von DB2-Datenbankobjekten

Um DB2-Datenbankobjekte zu konvertieren, wählen Sie zuerst die Objekte aus, die Sie konvertieren möchten, und lassen Sie dann SSMA die Konvertierung durchführen. Um Ausgabemeldungen während der Konvertierung anzuzeigen, wählen Sie im Menü "Ansicht" die Option "Ausgabe" aus.

So konvertieren Sie DB2-Objekte in SQL Server-Syntax

  1. Erweitern Sie im DB2-Metadaten-Explorer den DB2-Server, und erweitern Sie dann Schemas.

  2. Zu konvertierende Objekte auswählen:

    • Um alle Schemas zu konvertieren, aktivieren Sie das Kontrollkästchen neben Schemas.

    • Wenn Sie eine Datenbank konvertieren oder weglassen möchten, aktivieren Sie das Kontrollkästchen neben dem Schemanamen.

    • Wenn Sie eine Kategorie von Objekten konvertieren oder weglassen möchten, erweitern Sie ein Schema, und aktivieren oder deaktivieren Sie dann das Kontrollkästchen neben der Kategorie.

    • Wenn Sie einzelne Objekte konvertieren oder weglassen möchten, erweitern Sie den Kategorieordner, und aktivieren oder deaktivieren Sie dann das Kontrollkästchen neben dem Objekt.

  3. Um alle ausgewählten Objekte zu konvertieren, klicken Sie mit der rechten Maustaste auf Schemas, und wählen Sie "Schema konvertieren" aus.

    Sie können auch einzelne Objekte oder Kategorien von Objekten konvertieren, indem Sie mit der rechten Maustaste auf das Objekt oder den übergeordneten Ordner klicken und dann "Schema konvertieren" auswählen.

Anzeigen von Konvertierungsproblemen

Einige DB2-Objekte werden möglicherweise nicht konvertiert. Sie können die Erfolgsraten der Konvertierung ermitteln, indem Sie den Zusammenfassenden Konvertierungsbericht anzeigen.

So zeigen Sie einen Zusammenfassungsbericht an

  1. Wählen Sie im DB2-Metadaten-Explorer Schemas aus.

  2. Wählen Sie im rechten Bereich die Registerkarte "Bericht " aus.

    Dieser Bericht zeigt den Zusammenfassenden Bewertungsbericht für alle Datenbankobjekte, die bewertet oder konvertiert wurden. Sie können auch einen Zusammenfassungsbericht für einzelne Objekte anzeigen:

    • Um den Bericht für ein einzelnes Schema anzuzeigen, wählen Sie das Schema im DB2-Metadaten-Explorer aus.

    • Um den Bericht für ein einzelnes Objekt anzuzeigen, wählen Sie das Objekt im DB2-Metadaten-Explorer aus. Objekte mit Konvertierungsproblemen weisen ein rotes Fehlersymbol auf.

Bei Objekten, bei denen die Konvertierung fehlgeschlagen ist, können Sie die Syntax anzeigen, die zu einem Konvertierungsfehler führte.

So zeigen Sie einzelne Konvertierungsprobleme an

  1. Erweitern Sie im DB2-Metadaten-Explorer Schemas.

  2. Erweitern Sie das Schema, das ein rotes Fehlersymbol anzeigt.

  3. Erweitern Sie unter dem Schema einen Ordner mit einem roten Fehlersymbol.

  4. Wählen Sie das Objekt mit einem roten Fehlersymbol aus.

  5. Klicken Sie im rechten Bereich auf die Registerkarte "Bericht ".

  6. Oben auf der Registerkarte "Bericht " befindet sich eine Dropdownliste. Wenn in der Liste "Statistik" angezeigt wird, ändern Sie die Auswahl in "Quelle".

    SSMA zeigt den Quellcode und mehrere Schaltflächen direkt über dem Code an.

  7. Klicken Sie auf die Schaltfläche "Nächstes Problem ". Dies ist ein rotes Fehlersymbol mit einem Pfeil, der auf die rechte Seite zeigt.

    SSMA hebt den ersten problematischen Quellcode hervor, der im aktuellen Objekt gefunden wird.

Für jedes Element, das nicht konvertiert werden konnte, müssen Sie bestimmen, was Sie mit diesem Objekt tun möchten:

  • Sie können den Quellcode für Prozeduren auf der Registerkarte SQL ändern.

  • Sie können das Objekt in der DB2-Datenbank ändern, um problematischen Code zu entfernen oder zu überarbeiten. Um den aktualisierten Code in SSMA zu laden, müssen Sie die Metadaten aktualisieren. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit der DB2-Datenbank (DB2ToSQL).For more information, see Connecting to DB2 Database (DB2ToSQL).

  • Sie können das Objekt aus der Migration ausschließen. Deaktivieren Sie im SQL Server-Metadaten-Explorer und im DB2-Metadaten-Explorer das Kontrollkästchen neben dem Element, bevor Sie die Objekte in SQL Server laden und Daten aus DB2 migrieren.

Nächster Schritt

Der nächste Schritt im Migrationsprozess besteht darin, die konvertierten Objekte in SQL Server zu laden.

Weitere Informationen

Migrieren von DB2-Daten in SQL Server (DB2ToSQL)