Delen via


Db2-schemas converteren (Db2ToSQL)

Nadat u verbinding hebt gemaakt met zowel Db2 als SQL Server en opties voor project- en gegevenstoewijzing hebt ingesteld, kunt u Database2-databaseobjecten converteren naar SQL Server-databaseobjecten.

Het conversieproces

Als u databaseobjecten converteert, worden de objectdefinities uit Db2 gebruikt, geconverteerd naar vergelijkbare SQL Server-objecten en worden deze gegevens vervolgens in de SSMA-metagegevens (SQL Server Migration Assistant) geladen. De informatie wordt niet geladen in het exemplaar van SQL Server. Vervolgens kunt u de objecten en de bijbehorende eigenschappen bekijken met behulp van de SQL Server Metadata Explorer.

Tijdens de conversie drukt SSMA uitvoerberichten af naar het deelvenster Uitvoer en foutberichten naar het deelvenster Foutenlijst. Gebruik de uitvoer- en foutgegevens om te bepalen of u uw Db2-databases of het conversieproces moet wijzigen om de gewenste conversieresultaten te verkrijgen.

Conversieopties instellen

Voordat u objecten converteert, controleert u de opties voor projectconversie in het dialoogvenster Projectinstellingen. Gebruik dit dialoogvenster om in te stellen hoe SSMA functies en globale variabelen converteert. Zie projectinstellingen (conversie)voor meer informatie.

Conversieresultaten

In de volgende tabel ziet u welke Db2-objecten worden geconverteerd en de resulterende SQL Server-objecten:

Db2-objecten Resulterende SQL Server-objecten
Gegevenstypen SSMA wijst elk type toe, behalve de volgende typen:

CLOB: Sommige systeemeigen functies die met dit type werken, worden niet ondersteund (bijvoorbeeld CLOB_EMPTY())

BLOB: Sommige systeemeigen functies voor het werken met dit type worden niet ondersteund (bijvoorbeeld BLOB_EMPTY())

DBLOB: Sommige systeemeigen functies voor het werken met dit type worden niet ondersteund (bijvoorbeeld DBLOB_EMPTY())
Door de gebruiker gedefinieerde typen SSMA wijst de volgende door de gebruiker gedefinieerde objecten toe:

- Specifiek type
- Gestructureerd type
- SQL PL-gegevenstypen

Opmerking: zwakke cursortypen worden niet ondersteund.
Speciale registers SSMA wijst alleen de volgende registers toe:

CURRENT TIMESTAMP
CURRENT DATE
CURRENT TIME
CURRENT TIMEZONE
CURRENT USER
SESSION_USER en USER
SYSTEM_USER
CURRENT CLIENT_APPLNAME
CURRENT CLIENT_WRKSTNNAME
CURRENT LOCK TIMEOUT
CURRENT SCHEMA
CURRENT SERVER
CURRENT ISOLATION

Andere speciale registers worden niet toegewezen aan SQL Server-semantiek.
CREATE TABLE SSMA wijst CREATE TABLE toe met de volgende uitzonderingen:

Multidimensionale clustering (MDC) tabellen
Bereikclustertabellen (RCT)
Gepartitioneerde tabellen
Losgekoppelde tabel
DATA CAPTURE-clausule
IMPLICITLY HIDDEN optie
VOLATILE optie
CREATE VIEW SSMA koppelt CREATE VIEW aan WITH LOCAL CHECK OPTION, maar andere opties worden niet aan SQL Server-semantiek gekoppeld.
CREATE INDEX SSMA wijst CREATE INDEX toe met de volgende uitzonderingen:

XML-index
BUSINESS_TIME WITHOUT OVERLAPS optie
PARTITIONED-clausule
SPECIFICATION ONLY optie
EXTEND USING optie
MINPCTUSED optie
PAGE SPLIT optie
Triggers SSMA wijst de volgende triggersemantiek toe:

AFTER / FOR EACH ROW activeringen

AFTER / FOR EACH STATEMENT triggers

triggers voor BEFORE / FOR EACH ROW en INSTEAD OF / FOR EACH ROW
Sequenties In kaart gebracht.
SELECT-verklaring SSMA maakt een mapping van SELECT met de volgende uitzonderingen:

data-change-table-reference-clausule - Gedeeltelijk in kaart gebracht, maar FINAL-tabellen worden niet ondersteund

tabelverwijzingscomponent - Gedeeltelijk toegewezen, maar alleen-tabelverwijzing, outer-table-reference, analyze-table-expression, collection-derived-table, xmltable-expression zijn niet toegewezen aan sql Server-semantiek

period-specification clausule - Niet toegewezen.

Continue-handler clausule - niet toegewezen.

Typed-correlation-clausule - Niet toegewezen.

Clausule voor gelijktijdige toegangsoplossing - niet in kaart gebracht.
VALUES-verklaring Gekaart.
INSERT-verklaring In kaart gebracht.
UPDATE-verklaring SSMA koppelt UPDATE met de volgende uitzonderingen.

Tabelverwijzingsclausule - alleen-tabelverwijzing komt niet overeen met SQL Server-semantiek

Periodeclausule: is niet gekoppeld.
MERGE-verklaring SSMA kaart MERGE met de volgende uitzonderingen:

Enkele versus meerdere voorkomens van elke clausule - Toegepast op SQL Server-semantiek voor beperkte voorkomens van elke clausule

SIGNAL-clausule komt niet overeen met SQL Server-semantiek

Gemengde UPDATE- en DELETE-clausules - komt niet overeen met SQL Server-semantiek

Periodeclausule: komt niet overeen met SQL Server-semantiek
DELETE-verklaring SSMA wijst DELETE toe met de volgende uitzonderingen:

Tabelverwijzingsclausule - alleen-tabel-verwijzing is niet toegewezen aan SQL Server-semantiek

Period clausule - komt niet overeen met SQL Server-semantiek
Isolatieniveau en vergrendelingstype In kaart gebracht.
Procedures (SQL) Gekaart.
Procedures (extern) Handmatige update vereist.
Procedures (gebaseerd op bron) Wijs niet toe aan de semantiek van SQL Server.
Toewijzingsverklaring Toegewezen.
CALL verklaring voor een procedure In kaart gebracht.
CASE-verklaring In kaart gebracht.
FOR-verklaring In kaart gebracht.
GOTO-verklaring In kaart gebracht.
IF-verklaring In kaart gebracht.
ITERATE-verklaring In kaart gebracht.
LEAVE-verklaring In kaart gebracht.
LOOP-verklaring In kaart gebracht.
REPEAT-verklaring In kaart gebracht
RESIGNAL-verklaring Voorwaarden worden niet ondersteund. Berichten kunnen optioneel zijn.
RETURN-verklaring In kaart gebracht.
SIGNAL-verklaring Voorwaarden worden niet ondersteund. Berichten kunnen optioneel zijn.
WHILE-verklaring In kaart gebracht
GET DIAGNOSTICS-verklaring SSMA associeert GET DIAGNOSTICS met de volgende uitzonderingen:

ROW_COUNT - In kaart gebracht.

Db2_RETURN_STATUS - Toegewezen.

MESSAGE_TEXT - In kaart gebracht.

Db2_SQL_NESTING_LEVEL - wordt niet toegewezen aan SQL Server-semantiek

Db2_TOKEN_STRING - komt niet overeen met SQL Server-semantiek
Cursors SSMA wijst cursors toe met de volgende uitzonderingen:

ALLOCATE CURSOR-verklaring - komt niet overeen met SQL Server-semantiek

ASSOCIATE LOCATORS-instructie: komt niet overeen met de semantiek van SQL Server

DECLARE CURSOR-instructie: component Returnability is niet toegewezen aan SQL Server-semantiek

FETCH verklaring - Gedeeltelijke toewijzing. Alleen variabelen als doel worden ondersteund. SQLDA DESCRIPTOR is niet gemapt naar SQL Server-semantiek
Variabelen In kaart gebracht.
Uitzonderingen, handlers en voorwaarden SSMA koppelt foutafhandeling aan de volgende uitzonderingen:

EXIT handlers - Toegewezen.

UNDO handlers: Gekaart.

CONTINUE handlers - Niet toegewezen.

Voorwaarden: deze wordt niet toegewezen aan sql Server-semantiek.
Dynamische SQL Niet toegewezen.
Aliassen In kaart gebracht
Bijnamen Gedeeltelijke kaartweergave. Handmatige verwerking is vereist voor onderliggende objecten
Synoniemen Gekaart
Standaardfuncties in Db2 SSMA wijst db2-standaardfuncties toe wanneer een equivalente functie beschikbaar is in SQL Server:
Machtiging Niet toegewezen.
Predikaten In kaart gebracht.
SELECT INTO-verklaring Niet gemapt.
VALUES INTO-verklaring Niet toegewezen.
Transactiebeheer Niet toegewezen.

Db2-databaseobjecten converteren

Als u Db2-databaseobjecten wilt converteren, selecteert u eerst de objecten die u wilt converteren en voert u vervolgens SSMA de conversie uit. Als u uitvoerberichten tijdens de conversie wilt weergeven, gaat u naar Weergave>Uitvoer.

Db2-objecten converteren naar sql Server-syntaxis

  1. Vouw in Db2 Metadata Explorer de Db2-server uit en vouw vervolgens Schema'suit.

  2. Objecten selecteren die u wilt converteren:

    • Als u alle schema's wilt converteren, schakelt u het selectievakje in naast Schema's.

    • Als u een database wilt converteren of weglaten, schakelt u het selectievakje naast de schemanaam in.

    • Als u een categorie objecten wilt converteren of weglaten, vouwt u een schema uit en schakelt u het selectievakje naast de categorie in of uit.

    • Als u afzonderlijke objecten wilt converteren of weglaten, vouwt u de categoriemap uit en schakelt u het selectievakje naast het object in of uit.

  3. Als u alle geselecteerde objecten wilt converteren, klikt u met de rechtermuisknop op Schema's en selecteert u Schema Converteren.

    U kunt ook afzonderlijke objecten of categorieƫn objecten converteren door met de rechtermuisknop op het object of de bovenliggende map te klikken en vervolgens Schema converterente selecteren.

Conversieproblemen weergeven

Sommige Db2-objecten worden mogelijk niet geconverteerd. U kunt de conversiepercentages bepalen door het overzichtsconversierapport weer te geven.

Een overzichtsrapport weergeven

  1. Selecteer in Db2 Metadata Explorer Schemas.

  2. Selecteer het tabblad Rapport in het rechterdeelvenster.

    Dit rapport bevat het overzichtsevaluatierapport voor alle databaseobjecten die zijn geƫvalueerd of geconverteerd. U kunt ook een overzichtsrapport voor afzonderlijke objecten weergeven:

    • Als u het rapport voor een afzonderlijk schema wilt weergeven, selecteert u het schema in Db2 Metadata Explorer.

    • Als u het rapport voor een afzonderlijk object wilt weergeven, selecteert u het object in Db2 Metadata Explorer. Objecten met conversieproblemen hebben een rood foutpictogram.

Voor objecten waarvoor de conversie is mislukt, kunt u de syntaxis weergeven die heeft geresulteerd in de conversiefout.

Problemen met afzonderlijke conversies weergeven

  1. Vouw in Db2 Metadata Explorer Schema'suit.

  2. Vouw het schema uit met een rood foutpictogram.

  3. Vouw onder het schema een map met een rood foutpictogram uit.

  4. Selecteer het object met een rood foutpictogram.

  5. Selecteer in het rechterdeelvenster het tabblad Rapport.

  6. Bovenaan het tabblad Rapport bevindt zich een vervolgkeuzelijst. Als de lijst Statistiekentoont, wijzig de selectie naar Bron.

    SSMA geeft de broncode en verschillende knoppen direct boven de code weer.

  7. Selecteer de knop Volgende probleem (een rood foutpictogram met een pijl naar rechts).

    SSMA markeert de eerste problematische broncode die in het huidige object wordt gevonden.

Voor elk item dat niet kan worden geconverteerd, moet u bepalen wat u met dat object wilt doen:

  • U kunt de broncode voor procedures wijzigen op het tabblad SQL.

  • U kunt het object in de Db2-database wijzigen om problematische code te verwijderen of te herzien. Als u de bijgewerkte code in SSMA wilt laden, moet u de metagegevens bijwerken. Zie Verbinding maken met db2-databasevoor meer informatie.

  • U kunt het object uitsluiten van migratie. Schakel in SQL Server Metadata Explorer en Db2 Metadata Explorer het selectievakje naast het item uit voordat u de objecten in SQL Server laadt en gegevens migreert vanuit Db2.