Apakah ada cara untuk memulihkan cadangan database SQL Server 2012 ke SQL Server 2008?
Saya mencoba melampirkan file, tidak berhasil.
sql-server
sql-server-2008
sql-server-2012
Aaron Bertrand
sumber
sumber
Jawaban:
Anda memiliki beberapa opsi:
Opsi A : Script out database dalam mode kompatibilitas menggunakan opsi Generate script:
Catatan: Jika Anda skrip database dengan skema dan data, tergantung pada ukuran data Anda, skrip akan besar dan tidak akan ditangani oleh SSMS, sqlcmd atau osql (mungkin dalam GB juga).
Opsi B:
Pertama skrip tabel pertama dengan semua Indeks, FK, dll dan buat tabel kosong di database tujuan - opsi dengan SCHEMA ONLY (Tidak ada data).
Gunakan BCP untuk memasukkan data
bcp keluar data menggunakan skrip di bawah ini. atur SSMS dalam Mode Teks dan salin output yang dihasilkan oleh skrip di bawah ini dalam file bat.
Jalankan file bat yang akan menghasilkan file dat di folder yang telah Anda tentukan.
Jalankan skrip di bawah ini pada server tujuan dengan SSMS dalam mode teks lagi.
Jalankan output menggunakan SSMS untuk memasukkan kembali data dalam tabel.
Ini adalah metode bcp yang sangat cepat karena menggunakan mode Asli.
sumber
Some SSIDs and linked servers didn't go across properly
. Server yang terhubung harus dibuat secara manual. SSID dapat ditransfer menggunakan sp_helprevlogin. Pekerjaan SQLAgent, paket ssis dll harus dipindahkan sesuai kebutuhan Anda. Inti dari metode ini adalah untuk mendapatkan data secepat mungkin saat Anda menurunkan versi atau menggabungkan 2 basis data.Tidak, Anda tidak bisa mundur, hanya maju. Anda bisa membuat database kosong pada 2008 dan kemudian menggunakan wizard Generate Scripts di Management Studio untuk skrip skema dan data (atau alat perbandingan pihak ke-3 dari Red Gate dan lainnya). Pastikan Anda menetapkan versi target yang tepat sebagai 2008, dan Anda harus menyempurnakan hal-hal yang tidak kompatibel (misalnya OFFSET atau FORMAT) yang mungkin Anda gunakan pada tahun 2012.
sumber
Tidak ada cara yang didukung untuk melakukan ini karena SQL Server tidak mengizinkan kompatibilitas semacam ini.
Yang bisa Anda lakukan adalah
pulihkan database pada SQL 2012
menghasilkan skrip untuk objek dan data
Jika Anda tidak memiliki SQL Server 2012 maka Anda dapat menggunakan alat pihak ketiga untuk membaca cadangan dan mengekstrak data dan struktur.
Dalam hal ini buat saja database kosong pada SQL 2008 dan gunakan alat seperti ApexSQL Diff dan ApexSQL Data Diff untuk menyinkronkan objek dan data. Anda dapat menemukan ini dari vendor besar lainnya juga seperti Red-Gate atau Idera.
sumber