Saya memiliki database di PostgreSQL 8.3.1 yang ingin saya migrasi ke MS SQL Server 2005 (atau mungkin 2008), termasuk skema tabel dan data. Basis data berukuran sekitar 50GB dengan sekitar 400.000.000 baris, jadi saya pikir pernyataan INSERT sederhana tidak mungkin. Adakah yang bisa merekomendasikan alat terbaik untuk melakukan migrasi ini? Jelas itu harus dapat diandalkan, sehingga data persis sama di DB target seperti di sumber satu dan harus dapat menyalin volume data ini dalam waktu yang wajar.
8
Jawaban:
Saya akhirnya tidak menggunakan alat pihak ketiga untuk data karena tidak ada yang saya coba bekerja untuk tabel besar. Bahkan SSIS gagal. Saya memang menggunakan alat komersial untuk skema tersebut. Jadi proses konversi saya adalah sebagai berikut:
Langkah transformasi menangani beberapa perbedaan dalam format yang digunakan oleh pg_dump dan bcp, seperti:
Saya juga menemukan bahwa beberapa kendala unik yang baik-baik saja di Postgres dilanggar di MSSQL, jadi saya harus membuangnya. Ini karena NULL = NULL dalam MSSQL (mis. NULL diperlakukan sebagai nilai unik), tetapi tidak dalam Postgres.
sumber
Jika Anda memiliki driver dukungan Postgres yang sesuai diinstal pada kotak SQL 2005 Anda (atau ingin menggunakan Postgres melalui ODBC, atau ingin membuang data dari Postgres ke file dan impor dari itu) Anda dapat menggunakan wizard impor / ekspor di SQL Server di untuk menyalin data. Ini akan menanyakan berbagai pertanyaan dan kemudian menjalankan impor sebagai pekerjaan paket Layanan Integrasi Server SQL (SSIS), menggunakan operasi batch insert yang sesuai.
Namun jika wizard itu bukan opsi, perlu dipertimbangkan bahwa meskipun Anda memiliki banyak baris, ukuran individual rata-rata <135 byte, dan diberi ruang log transaksi yang cukup untuk memungkinkan transaksi 50 GB terjadi ' pernyataan sederhana 'tidak dengan sendirinya keluar dari pertanyaan.
sumber
http://www.easyfrom.net/
Ini dia :) Sayangnya, ini sedikit mahal.
sumber
Hampir 10 tahun berlalu, dan ini masih bukan masalah langsung. Saya berakhir dengan solusi hybrid, saya menggulung mapper skema saya sendiri dengan mengekspor skema dan komentar tabel / kolom menggunakan perintah berikut:
Saya kemudian menulis skrip PHP yang menerjemahkan skema ke T-SQL. Saya kemudian, menggunakan perangkat lunak pihak ke-3 berikut untuk melakukan impor baris yang sebenarnya (tidak ada afiliasi):
http://www.convert-in.com/pgs2mss.htm
Agak lambat, tapi sejauh ini bagus. Basis data kami lebih kecil dari milik Anda, hanya 15GB, tetapi alat itu tampaknya menanganinya dengan baik. Itu juga yang termurah yang bisa saya temukan sekitar $ 50. Sejauh ini sudah layak investasi sementara.
sumber