Jeden z našich produktů podporuje Oracle i SQL Server jako databázový backend. Máme zákazníka, který chce přejít z backendu Oracle na Microsoft SQL Server, což pro nás není typický přechod.
Jaký je nejjednodušší způsob, jak získat všechna data z celého schématu Oracle do databáze serveru SQL?
Schéma obsahuje pouze prosté staré tabulky a nic efektního. Mohla by existovat jedna nebo dvě uložené procedury, které nebudou mít žádný problém s ruční migrací.
Mohl bych použít Oracle SQLDeveloper k exportu dat tabulky jako příkazy CREATE
a INSERT
, ale tyto neodpovídají syntaxi použité na serveru SQL a netěším se na ruční opravu chyby syntaxe.
Vlastně jsem použil „Microsoft SQL Server Migration Assistant (SSMA)“ od MS jednou za to a ve skutečnosti udělal to, co slíbil:
SQL Server Migration Assistant pro Oracle (dokumentace)
Microsoft SQL Server Migration Assistant v6.0 pro Oracle (stáhnout)
Blog týmu pro pomoc s migrací serveru SQL (SSMA)
V mém případě to však nebylo tak rychlé, jak bych čekal na 80 GB Oracle-DB (4 hodiny nebo tak něco) a poté jsem musel udělat nějaké manuální kroky, ale aplikace byla stejně vyvinuta v pekle (jedna tabulka měla 90 + sloupce a 100+ indexy).
Přidání k Craigovu komentáři výše - pomocí propojených serverů aktualizuji několik tabulek v databázi Oracle ze serveru SQL Server. Data můžete také přetáhnout na SQL Server pomocí OPENQUERY
INSERT INTO dbo.SQLTable1
SELECT * FROM OPENQUERY(ORALINKEDSERV, 'SELECT * FROM OracleTable1')
Několik odkazů, které vám pomohou nastavit propojený server zde a zde