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 -satsIMPLICITLY HIDDEN alternativVOLATILE 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 alternativPARTITIONED -klausulSPECIFICATION ONLY alternativEXTEND USING alternativMINPCTUSED alternativPAGE SPLIT alternativ |
Utlösare | SSMA mappar följande utlösarsemantik:AFTER
/
FOR EACH ROW utlösareAFTER
/
FOR EACH STATEMENT utlösareutlö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 intetable-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-semantikBlandade UPDATE - och DELETE -satser – mappas inte till SQL Server-semantikPeriod-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-semantikDb2_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-semantikASSOCIATE LOCATORS -instruktion – mappas inte till SQL Server-semantikDECLARE CURSOR -instruktion – Returnability-satsen mappas inte till SQL Server-semantikFETCH -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
I Db2 Metadata Explorer expanderar du Db2:s server och utvidgar sedan Scheman.
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.
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
I Db2 Metadata Explorer väljer du Scheman.
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
I Db2 Metadata Explorer, expandera Scheman.
Expandera schemat som visar en röd felikon.
Under schemat expanderar du en mapp med en röd felikon.
Välj det objekt som har en röd felikon.
I den högra rutan väljer du fliken Rapport.
Ö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.
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.