Saya telah menemukan tiga database lama yang duduk di SQL Server 2000 yang saya harus pindah ke 2012. Saya percaya pendekatan standar adalah mengembalikan ke contoh 2005 atau 2008, memperbarui, mengekspor kembali dan akhirnya mengembalikan ke 2012.
Baik, kecuali kami tidak memiliki instance 2005 atau 2008 yang tersedia.
Adakah solusi atau metode lain yang mungkin patut dicoba?
Sebagai informasi, database hanya berisi 15-20 tabel dan beberapa tampilan, mereka tampak sangat sederhana dan cadangan hanya berukuran 100-200MB.
Jawaban:
Tidak, tidak ada solusi untuk memutakhirkan database langsung dari 2000 hingga 2012.
Karena Anda tidak memiliki banyak data, Anda dapat melakukan segala macam hal untuk memindahkan data (tetapi bukan database secara keseluruhan), termasuk:
Namun ini belum tentu membawa hal-hal lain seperti pengguna, izin, peran, dll. Dan tidak semuanya akan membuat objek Anda dalam urutan ketergantungan yang benar. Jadi mereka lebih banyak bekerja dan rawan kesalahan. Dalam pengalaman saya akan bermanfaat untuk hanya memasang contoh menengah sementara dan kemudian melakukan dua operasi backup + restore - yang akan lebih mudah, lebih cepat, dan lebih sedikit rawan kesalahan daripada salah satu metode di atas.
Jika basis data Anda lebih kecil dari 10GB, Anda dapat menginstal salinan Express (gratis) dalam beberapa menit, dan menggunakannya. Anda dapat mengunduh 2008 R2 Express di sini . Saya tidak berpikir ada fitur Enterprise pada tahun 2000 di sekitar struktur database dll. Yang akan memblokir upgrade itu (masalah yang lebih besar untuk versi yang lebih modern).
Jika database Anda terlalu besar untuk Express, Anda harus dapat menemukan Edisi Pengembang seharga $ 49 atau lebih (atau bahkan lebih murah - saya menemukan 2005 di eBay seharga $ 37 ), atau jika Anda memiliki langganan MSDN, Anda harus bisa mendapatkan SKU dari sana.
Atau Anda bisa lolos dengan menggunakan Edisi Evaluasi, yang luar biasa masih ditawarkan untuk diunduh untuk versi yang lebih lama (misalnya saya temukan 2008 di sini ), namun saya sedang menggunakan telepon sehingga tidak dapat mengonfirmasi pengunduhan karena versi itu masih berfungsi .
sumber
Menyatakan tidak ada solusi sepertinya sedikit prematur.
Anda mengatakan basis data Anda hanya berisi beberapa tabel dan tampilan. Mengapa tidak mengekspor tabel dan skema tampilan sebagai SQL membuat pernyataan dan menjalankannya pada database target Anda? Anda kemudian dapat juga mengekspor data aktual menjadi sesuatu seperti format CSV dan mengimpornya ke database target, atau bahkan mungkin menulis sesuatu dalam C # / C ++ / etc untuk mengekspor / mengimpor data aktual.
Anda tidak perlu menghabiskan satu sen pada contoh baru dari SQL Server yang pada akhirnya tidak Anda butuhkan.
sumber
Tidak, Anda tidak dapat memigrasikannya secara langsung dari tahun 2000 hingga 2012.
Apa yang dapat Anda lakukan adalah menginstal contoh sementara 2005 ATAU 2008 atau 2008R2, mengembalikan database 2000 di sini. Setelah selesai Anda sekarang dapat memutakhirkan dari instance yang diinstal dengan mengambil cadangan database dari instance itu dan mengembalikan ke sql server 2012.
Anda harus melakukan migrasi dalam dua langkah:
sumber
Anda mengatakan Anda "telah menemukan tiga database lama yang duduk di SQL Server 2000" yang membuat saya percaya Anda hanya perlu data. Saya kira jika mereka dijalankan untuk suatu tujuan, Anda akan tahu. Jika ini masalahnya, abaikan semua pertanyaan pengguna, keamanan, dll.
Impor / Ekspor wizard semua tabel Script prosedur dan tampilan yang tersimpan Periksa rencana perawatan dan pekerjaan agen hanya untuk mendokumentasikan proses yang mungkin ingin Anda lihat nanti.
sumber
Anda tidak dapat bermigrasi langsung dari SQL Server 2000 ke SQL Server 2012, dan jika Anda mencoba melakukannya Anda akan mendapatkan nomor galat 3169 berikut, yang terkait dengan masalah kompatibilitas.
Migrasi ke SQL Server 2012 dapat dilakukan dari salah satu versi berikut (versi minimum) SQL Server 2005 SP4 atau SQL Server 2008 SP2 atau SQL Server 2008 R2 SP1.
Jadi langkah pertama untuk bermigrasi dari SQL Server 2000 ke salah satu versi tersebut, saya menemukan salah satu Penasihat Upgrade untuk SQL Server 2008 di tautan berikut . Untuk memastikan semuanya akan berjalan lancar sebelum memulai proses restorasi, Anda perlu menjalankan aplikasi. Lalu "Luncurkan Wizard Analisis Pembaruan Upgrade" dan ikuti langkah-langkah wizard.
Setelah Anda mendapat laporan, Anda perlu mengembalikan database pada target SQL Server 2005 SP4 atau SQL Server 2008 SP2 atau SQL Server 2008 R2 SP1 dan menjalankan tingkat kompatibilitas di atasnya (Anda dapat menemukannya pada opsi database). Untuk login SQL Server, silakan ikuti instruksi di tautan berikut .
Ketika itu selesai, sekarang Anda perlu bermigrasi ke SQL Server 2012 dengan mengulangi langkah-langkah yang sama dari server yang Anda lakukan migrasi pertama.
sumber
Pertama saya setuju Anda tidak harus bermigrasi dari 2000 ke 2012 secara langsung. Saya pikir proses itu telah dibahas dengan baik. Saya ingin menyarankan Anda mencari tahu pasti apakah ada yang menggunakan database dan untuk apa mereka menggunakannya. Mungkin mereka tidak digunakan. Itu terjadi dan jika itu masalahnya maka Anda tidak perlu khawatir. Mungkin menambahkan 2 atau 3 tabel dan data (untuk tahun 2000 menggunakan bcp jika Anda ingin mengeluarkan data untuk tabel individual yang sederhana dan dapat diandalkan) ke database 2012 yang ada akan melayani kebutuhan pengguna. Jika Anda melakukannya maka buat tabel baru di database 2012 dan bcp keluar data yang Anda butuhkan untuk csv, Anda dapat bcp kembali jika Anda mau. Jika Anda harus melakukan migrasi lebih dari satu atau dua tabel maka cara termudah dan teraman dan terbaik adalah melakukan migrasi dua langkah. Mengenakan'
sumber