Perlu melakukan migrasi SQL Server ke MySQL

22

Saya memiliki database tentang SQL Server 2008 di server Windows dan saya ingin memindahkan semua data ke database MySQL di server Ubuntu. Saya telah mencoba menggunakan Wisaya Impor dan Ekspor SQL Server dengan driver MySQL ODBC, dan ia mengakses kedua database dengan benar, tetapi file xml yang berisi spesifikasi untuk konversi tipe tidak ada dan spesifikasinya terlalu terbatas bagi saya untuk membuatnya dengan benar. Apakah ada yang tahu cara membuat file konversi jenis atau di mana mendapatkan alat yang lebih baik untuk mentransfer data ini?

murgatroid99
sumber
1
Pernahkah Anda melihat pertanyaan ini ? Ini tentang mereplikasi data dari MySql ke MSSQL. Mungkin Anda akan menemukan beberapa petunjuk di sana.
Marian
@Marian Terima kasih atas tautannya. Menggunakan server MySQL sebagai server yang ditautkan dalam SQL Server tampaknya menjadi solusi untuk masalah saya.
murgatroid99
1
Berapa banyak data yang kita bicarakan? 5mb? 3TB?
AaronJAnderson
Saya pikir itu GB atau 10 GB, tapi saya tidak begitu ingat karena pertanyaan ini dari satu setengah tahun yang lalu.
murgatroid99

Jawaban:

13

Saya punya dua saran:

1) Saya benci membawa produk komersial tetapi ada alat $ 49,00 untuk memigrasi MSSQL ke MySQL

2) Coba forum Migrasi MSSQL MySQL untuk saran lebih lanjut

UPDATE 2011-06-03 18:03 EDT

Ada produk lama yang masuk EOL pada Januari 2010 yang disebut MySQL Migration Toolkit . Jika Anda dapat memperolehnya, Anda dapat menggunakannya.

UPDATE 2011-06-03 18:06 EDT

Saya menemukan arsip !!! Berikut adalah Perangkat Migrasi MySQL

UPDATE 2011-06-03 18:11 EDT

Ini dia Ikhtisar Perangkat Migrasi MySQL

UPDATE 2011-06-03 19:08 EDT

Produk komersial lain ($ 29)

UPDATE 2011-06-03 19:30 EDT

Berikut adalah daftar alat Freeware yang memigrasikan MSSQL ke MySQL.

UPDATE 2011-06-15 17:47 EDT

Dapatkan WhitePaper (PDF) dari Oracle pada Panduan untuk Memigrasi Microsoft SQL Server ke MySQL (Masih Komersial)

UPDATE 2012-08-21 01:24 EDT

Menurut WebPage MySQL ini , bagian MySQL Workbench: Database Migration Wizardmengklaim bahwa Workbench MySQL memiliki kemampuan untuk memigrasi objek DB dari SQL Server ke MySQL.

RolandoMySQLDBA
sumber
1
Saya lebih suka tidak menggunakan produk komersial apa pun jika saya bisa menghindarinya. Saya mencoba menggunakan Migration Toolkit, tetapi saya pikir itu tidak kompatibel dengan versi terbaru dari MySQL: pernyataan insert SQL yang dihasilkan memiliki sejumlah besar kesalahan sintaks dan tabel yang dihasilkan tidak memiliki baris setelah menjalankan wizard. Alat-alat shareware juga tampaknya dibuat untuk bekerja dengan versi MySQL yang lebih lama. Terima kasih telah mencoba.
murgatroid99
4

Berdasarkan saran Marian, saya menemukan jawaban ini tentang mereplikasi ke arah lain dengan menyiapkan server MySQL sebagai server tertaut di MS SQL Server. Dengan MySQL yang diatur sebagai server tertaut, saya dapat menjalankan query SQL pada kedua database secara bersamaan, yang menyediakan fungsionalitas persis yang saya butuhkan untuk menyelesaikan masalah ini.

murgatroid99
sumber
3

Sudahkah Anda melihat menggunakan SSIS untuk tugas ini? Ini adalah alat ETL untuk SQL Server dan memiliki banyak transformasi dan logika yang dapat membantu Anda melakukan tugas ini.

SQLCtebal
sumber
Panduan Impor / Ekspor yang saya sebutkan menggunakan sebenarnya membuat paket SSIS. Masalah yang saya miliki adalah SSIS menggunakan file XML untuk menyimpan data tentang bagaimana mengkonversi antar tipe dalam sistem manajemen basis data yang berbeda, dan file-file itu tidak ada untuk MySQL.
murgatroid99
3

MySQL Workbench dapat melakukan ini:

http://dev.mysql.com/downloads/workbench

Ini dapat diinstal langsung pada mesin MS SQL Server (keunggulan kecepatan!), Yang harus dapat mengakses Ubuntu Server MySQL Anda.

mit
sumber
2

Saya mencoba Migration toolkit untuk mengimpor dari SQL server ke MySQL. Tetapi menemukan SQLyog Impor data eksternal baik. Saya bisa menjadwalkan proses impor dan juga melakukan pemetaan yang diperlukan untuk mengimpor ke tabel yang ada. Unduh dari sini .

masukkan deskripsi gambar di sini

Yakub
sumber
SQLyog adalah alat yang hebat, tetapi fitur "impor data eksternal" sangat lambat. Seperti dalam beberapa urutan besarnya lebih lambat dari MySQL Workbench. Saya berharap pengembang SQLyog akan memperbaiki masalah, karena antarmuka jauh lebih intuitif daripada Workbench. Tetapi kecuali jika Anda hanya mengimpor ratusan baris daripada bersiaplah untuk menunggu berjam-jam atau mungkin berhari-hari untuk menyelesaikan impor.
nextgentech
2

Saya baru-baru ini merilis etlalchemy untuk menyelesaikan tugas ini. Ini adalah solusi open-source yang memungkinkan migrasi antara setiap 2 database SQL dengan 4 baris Python . RDBMS yang didukung mencakup MySQL, PostgreSQL, Oracle, SQLite, dan SQL Server.

Ini akan menangani tugas yang menakutkan untuk memetakan satu jenis kolom vendor SQL, ke yang lain. Tidak hanya akan mentransfer dan menerjemahkan skema , itu juga akan memigrasi semua data, indeks, dan kendala di seluruh database.

Untuk memasang:

$ pip install etlalchemy

Tentang El Capitan :pip install --ignore-installed etlalchemy

Untuk berlari:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

mssql_db_source = ETLAlchemySource("mssql+pyodbc://username:password@DSN")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name", drop_database=True)
mysql_db_target.addSource(mssql_db_source)

Untuk mendapatkan latar belakang lebih lanjut tentang asal-usul proyek, lihat pos ini. Jika Anda mendapatkan kesalahan dalam menjalankan alat, buka masalah pada repo github dan saya akan menambalnya dalam waktu kurang dari seminggu!

Aelfinn
sumber
0

Alat Migrasi MySQL Workbench dapat membantu Anda melakukan tugas ini

1) Untuk memulai proses migrasi, pada layar utama MySQL Workbench, buka Database-> Migration Wizard.

2) Kita harus memeriksa prasyarat untuk mengonfirmasi apakah kita dapat melanjutkan tugas. Jika semuanya terlihat baik-baik saja, kita dapat menekan Mulai Migrasi.

3) Pada langkah ini, kita perlu memberikan informasi tentang sumber database, dalam hal ini, SQL Server.

Kami akan mengonfigurasi parameter sumber kami:

Sistem Basis Data: Microsoft SQL Server

Metode Koneksi: ODBC (Asli)

Driver: SQL Server

Server: localhost

Nama pengguna: sa

4) Sekarang, kita dapat memeriksa koneksi dengan menggunakan tombol Uji Koneksi.

5) Kemudian, kita perlu menambahkan parameter target:

Metode Koneksi: Standar (TCP / IP)

Nama Host: Nama_Anda_Anda

Port: 3306

Nama pengguna: migrasi

6) Dan tekan Uji Koneksi untuk mengkonfirmasi informasi yang ditambahkan.

7) Pada langkah berikutnya, MySQL Workbench akan terhubung ke SQL Server kami untuk mengambil daftar katalog dan skema.

8) Sekarang, kita akan memilih database Your_database_name dari daftar.

Kita dapat memilih bagaimana skema dan objek rekayasa terbalik harus dipetakan. Kami akan menggunakan opsi Catalog.Schema.Table -> Catalog.Table, jadi di MySQL kami, kami akan memilih database dan tabel saat ini yang kami miliki di database SQL Server kami.

9) Jika semuanya berjalan dengan baik, kami akan memiliki daftar objek yang akan dimigrasi.

10) Dalam hal ini, kami memiliki Obyek Tabel, Obyek Lihat dan Objek Rutin. Kami hanya akan memilih Obyek Tabel karena untuk objek lainnya kita harus memeriksa kode setara MySQL yang sesuai secara manual.

11) Pada langkah ini, objek dari sumber dikonversi menjadi objek yang kompatibel dengan MySQL.

12) Jika semuanya berjalan dengan baik, kami dapat melanjutkan dengan memilih bagaimana kami ingin membuat skema yang dimigrasi di target. Kami akan menggunakan opsi "Buat skema di target RDBMS" default.

13) Sekarang, mari kita periksa proses skema pembuatan.

14) Pada langkah selanjutnya, kita dapat memeriksa hasil dari setiap eksekusi skrip, dan kita dapat memeriksa database baru yang dibuat pada Server MySQL kita.

15) Pada titik ini, kita akan memiliki struktur basis data, tetapi kita belum memiliki datanya. Sekarang, kita akan memilih bagaimana kita ingin menyalin data di Server MySQL. Kami akan menggunakan opsi "Salinan data tabel online untuk menargetkan RDBMS".

16) Pada langkah terakhir, kita dapat memeriksa laporan migrasi dan menyelesaikan tugas.

Metode lain yang mudah untuk mengonversi MS SQL DB ke MySQL adalah menggunakan alat Stellar DIY bernama Stellar Converter for Database yang dapat langsung mengambil file database dari database tertentu dan memberikan pratinjau tabel konversi dan setelah konversi akan langsung menyimpan data ke dalam database yang ditentukan diinstal pada sistem Anda. Dalam hal ini Anda harus menyediakan file database MS SQL dan setelah konversi akan disimpan dalam database MySQL yang diinstal dalam sistem. Anda bisa mendapatkan versi gratis dari perangkat lunak ini dari Situs Resmi Stellar .

Priyanka
sumber