Dela via


Konvertera Db2-scheman (Db2ToSQL)

När du har anslutit till både Db2 och SQL Server och angett alternativ för projekt- och datamappning kan du konvertera Db2-databasobjekt till SQL Server-databasobjekt.

Konverteringsprocessen

Konvertering av databasobjekt tar objektdefinitionerna från Db2, konverterar dem till liknande SQL Server-objekt och läser sedan in den här informationen i SQL Server Migration Assistant-metadata (SSMA). Informationen läses inte in i SQL Server-instansen. Du kan sedan visa objekten och deras egenskaper med hjälp av SQL Server Metadata Explorer.

Under konverteringen skriver SSMA ut utdatameddelanden till fönstret Utdata och felmeddelanden till fönstret Fellista. Använd utdata- och felinformationen för att avgöra om du måste ändra dina Db2-databaser eller konverteringsprocessen för att få önskat konverteringsresultat.

Ange konverteringsalternativ

Granska alternativen för projektkonvertering i dialogrutan Projektinställningar innan du konverterar objekt. Använd den här dialogrutan om du vill ange hur SSMA konverterar funktioner och globala variabler. Mer information finns i Project Settings (Conversion).

Konverteringsresultat

I följande tabell visas vilka Db2-objekt som konverteras och de resulterande SQL Server-objekten:

Db2-objekt Resulterande SQL Server-objekt
Datatyper SSMA mappar alla typer utom följande typer:

CLOB: Vissa inbyggda funktioner som fungerar med den här typen stöds inte (till exempel CLOB_EMPTY())

BLOB: Vissa inbyggda funktioner för arbete med den här typen stöds inte (till exempel BLOB_EMPTY())

DBLOB: Vissa inbyggda funktioner för arbete med den här typen stöds inte (till exempel DBLOB_EMPTY())
Användardefinierade typer SSMA mappar följande användardefinierade objekt:

– Tydlig typ
- Strukturerad typ
– SQL PL-datatyper

Obs! Svaga markörtyper stöds inte.
Särskilda register SSMA mappar endast följande register:

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

Andra särskilda register mappas inte till SQL Server-semantik.
CREATE TABLE SSMA mappar CREATE TABLE med följande undantag:

Flerdimensionell klustringstabeller
Intervall-klustrade tabeller (RCT)
Partitionerade tabeller
Frånkopplad tabell
DATA CAPTURE-sats
IMPLICITLY HIDDEN alternativ
VOLATILE alternativ
CREATE VIEW SSMA mappar CREATE VIEW med WITH LOCAL CHECK OPTION men andra alternativ mappas inte till SQL Server-semantik
CREATE INDEX SSMA mappar CREATE INDEX med följande undantag:

XML-index
BUSINESS_TIME WITHOUT OVERLAPS alternativ
PARTITIONED-klausul
SPECIFICATION ONLY alternativ
EXTEND USING alternativ
MINPCTUSED alternativ
PAGE SPLIT alternativ
Utlösare SSMA mappar följande utlösarsemantik:

AFTER / FOR EACH ROW utlösare

AFTER / FOR EACH STATEMENT utlösare

utlösare för BEFORE / FOR EACH ROW och INSTEAD OF / FOR EACH ROW
Sekvenser Kartlagd
SELECT-uttalande SSMA mappar SELECT med följande undantag:

data-change-table-reference-klausul – Delvis kartlagd, men tabeller för FINAL stöds inte

table-reference-sats – Delvis mappad, men endast tabellreferens, yttre tabellreferens, analysera tabelluttryck, samling-härledd tabell, xmltable-expression mappas inte till SQL Server-semantik

period-specification-sats – Ej kartlagd.

Continue-handler-satsen – Inte kartlagd.

Inskriven korrelationssats – Inte mappad.

Klausul för samtidig åtkomstlösning – ej mappad.
VALUES-uttalande Kartlagd.
INSERT-uttalande Kartlagd.
UPDATE-uttalande SSMA mappar UPDATE med följande undantag:

Tabellreferenssats – endast tabellreferens mappas inte till SQL Server-semantik

Periodvillkor – är inte mappad.
MERGE-uttalande SSMA mappar MERGE med följande undantag:

Enskild eller flera förekomster av varje sats – Mappad till SQL Server-semantik för begränsade förekomster av varje sats

SIGNAL-sats – mappas inte till SQL Server-semantik

Blandade UPDATE- och DELETE-satser – mappas inte till SQL Server-semantik

Period-sats – mappas inte till SQL Server-semantik
DELETE-uttalande SSMA mappar DELETE med följande undantag:

Tabellreferenssats – endast tabellreferens mappas inte till SQL Server-semantik

Periodsats – mappas inte till SQL Server-semantik
Isoleringsnivå och låstyp Kartlagd.
Procedurer (SQL) Kartlagd
Externa procedurer Kräv manuell uppdatering.
Procedurer (från en källa) Mappa inte till SQL Server-semantik.
Tilldelningssats Kartlagd.
CALL-deklaration för en procedur Kartlagd.
CASE-uttalande Kartlagd
FOR-uttalande Kartlagd.
GOTO-uttalande Kartlagd.
IF-deklaration Kartlagd
ITERATE-uttalande Kartlagd.
LEAVE-uttalande Kartlagts.
LOOP-uttalande Mappade.
REPEAT-uttalande Kartlagd.
RESIGNAL-uttalande Villkor stöds inte. Meddelanden kan vara valfria.
RETURN-uttalande Kartlagd.
SIGNAL-uttalande Villkor stöds inte. Meddelanden kan vara valfria.
WHILE-uttalande Mappade.
GET DIAGNOSTICS-uttalande SSMA mappar GET DIAGNOSTICS med följande undantag:

ROW_COUNT – Kartlagd.

Db2_RETURN_STATUS – Kartlagd.

MESSAGE_TEXT – Kartlagd.

Db2_SQL_NESTING_LEVEL – mappas inte till SQL Server-semantik

Db2_TOKEN_STRING – mappas inte till SQL Server-semantik
Markörer SSMA mappar markörer med följande undantag:

ALLOCATE CURSOR -instruktion – mappas inte till SQL Server-semantik

ASSOCIATE LOCATORS -instruktion – mappas inte till SQL Server-semantik

DECLARE CURSOR -instruktion – Returnability-satsen mappas inte till SQL Server-semantik

FETCH-uttalande – Partiell mappning. Endast variabler som mål stöds. SQLDA DESCRIPTOR mappas inte till SQL Server-semantik
Variabler Kartlagd
Undantag, hanterare och villkor SSMA kartlägger undantagshantering med följande undantag:

EXIT-hanterare – Kartlagda.

UNDO-hanterare – Kartlagda.

CONTINUE-hanterare – Inte mappade.

Villkor – Den mappas inte till SQL Server-semantik.
Dynamisk SQL Ej kopplad
Aliaser Mappade.
Smeknamn Partiell kartläggning. Manuell bearbetning krävs för underliggande objekt
Synonymer Kartlagd.
Standardfunktioner i Db2 SSMA mappar Db2-standardfunktioner när en motsvarande funktion är tillgänglig i SQL Server:
Tillstånd Inte mappad.
Predikat Kartlagd
SELECT INTO-påstående Ej kartlagd
VALUES INTO-uttalande Inte kartlagd.
Transaktionskontroll Inte kartlagd.

Konvertera Db2-databasobjekt

Om du vill konvertera Db2-databasobjekt väljer du först de objekt som du vill konvertera och be sedan SSMA att utföra konverteringen. Om du vill visa utdatameddelanden under konverteringen går du till Visa>utdata.

Konvertera Db2-objekt till SQL Server-syntax

  1. I Db2 Metadata Explorer expanderar du Db2:s server och utvidgar sedan Scheman.

  2. Välj objekt som ska konverteras:

    • Om du vill konvertera alla scheman markerar du kryssrutan bredvid Scheman.

    • Om du vill konvertera eller utelämna en databas markerar du kryssrutan bredvid schemanamnet.

    • Om du vill konvertera eller utelämna en kategori av objekt expanderar du ett schema och markerar eller avmarkerar sedan kryssrutan bredvid kategorin.

    • Om du vill konvertera eller utelämna enskilda objekt expanderar du kategorimappen och markerar eller avmarkerar sedan kryssrutan bredvid objektet.

  3. Om du vill konvertera alla markerade objekt högerklickar du på Scheman och väljer Konvertera schema.

    Du kan också konvertera enskilda objekt eller kategorier av objekt genom att högerklicka på objektet eller dess överordnade mapp och sedan välja Konvertera schema.

Visa konverteringsproblem

Vissa Db2-objekt kanske inte konverteras. Du kan fastställa konverteringsframgångar genom att titta på sammanfattningen av konverteringsrapporten.

Visa en sammanfattningsrapport

  1. I Db2 Metadata Explorer väljer du Scheman.

  2. I den högra rutan väljer du fliken Rapport.

    Den här rapporten visar sammanfattningsutvärderingsrapporten för alla databasobjekt som utvärderats eller konverterats. Du kan också visa en sammanfattningsrapport för enskilda objekt:

    • Om du vill visa rapporten för ett enskilt schema väljer du schemat i Db2 Metadata Explorer.

    • Om du vill visa rapporten för ett enskilt objekt väljer du objektet i Db2 Metadata Explorer. Objekt som har konverteringsproblem har en röd felikon.

För objekt som misslyckades med konverteringen kan du visa syntaxen som resulterade i konverteringsfelet.

Visa problem med enskilda konverteringar

  1. I Db2 Metadata Explorer, expandera Scheman.

  2. Expandera schemat som visar en röd felikon.

  3. Under schemat expanderar du en mapp med en röd felikon.

  4. Välj det objekt som har en röd felikon.

  5. I den högra rutan väljer du fliken Rapport.

  6. Överst på fliken Rapport finns en listruta. Om listan visar Statistikändrar du markeringen till Källa.

    SSMA visar källkoden och flera knappar direkt ovanför koden.

  7. Välj knappen Nästa problem (en röd felikon med en högerriktad pil).

    SSMA markerar den första problematiska källkoden som hittas i det aktuella objektet.

För varje objekt som inte kunde konverteras måste du bestämma vad du vill göra med objektet:

  • Du kan ändra källkoden för procedurer på fliken SQL.

  • Du kan ändra objektet i Db2-databasen för att ta bort eller ändra problematisk kod. Om du vill läsa in den uppdaterade koden i SSMA måste du uppdatera metadata. Mer information finns i Anslut till Db2-databas.

  • Du kan undanta objektet från migrering. I SQL Server Metadata Explorer och Db2 Metadata Explorer avmarkerar du kryssrutan bredvid objektet innan du läser in objekten i SQL Server och migrerar data från Db2.