Proses pemutakhiran dari SQL Server 2000 ke SQL Server 2012

8

Saya memiliki database SQL Server 2000 yang ingin saya tingkatkan ke SQL Server 2012 (berjalan di server yang berbeda).

Saya tidak berpikir ada jalur peningkatan langsung, tetapi jika ada, apa itu?

Rencana saya saat ini adalah:

  1. Backup database SQL Server 2000
  2. Pulihkan di server dengan SQL Server 2008 diinstal
  3. Setel tingkat kompatibilitas ke 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Membuat cadangan basis data dari SQL Server 2008 server
  5. Pulihkan di server dengan SQL Serevr 2012 diinstal
  6. Setel tingkat kompatibilitas ke 110(SQL Server 2012)

Apakah saya melakukan langkah yang tidak dibutuhkan? Apakah saya kehilangan sesuatu (seperti menjalankan utilitas untuk mengidentifikasi penggunaan Transact-SQL yang tidak didukung)?

otomatis
sumber
Anda masih ingin melakukan hal-hal seperti memperbarui statistik, tetapi jika tidak, proses Anda tampaknya tepat untuk saya.
Aaron Bertrand
Tidak harus 2008 / R2 - 2005 didukung pada 2012.
OMG Ponies

Jawaban:

5

Tidak, seperti yang saya lihat, Anda tidak melewatkan apa pun. Saya telah memutakhirkan salah satu database saya dari SQL Server 2000 ke SQL Server 2012.

Cara lain adalah memutakhirkan seluruh server - dalam hal ini Anda dapat menggunakan panduan pemutakhiran.

PEMBARUAN: proses pemutakhiran saya berhasil, tetapi hati-hati tentang fitur yang tidak digunakan lagi dan usang di SQL Server 2008 dan 2012.

Alex_L
sumber
Apakah ada cara otomatis untuk mengidentifikasi fitur-fitur yang dihentikan dan disusutkan itu?
otomatis
Adapun 2000-> 2008, cara ini adalah dengan menggunakan Wisaya Upgrade. Dalam SQL Server 2000 Anda, Anda harus menjalankan pengaturan SQL Server 2008 dan kemudian pilih Perencanaan -> Instal pemutakhiran adwizor. Setelah menginstal coba jalankan. Tapi saya tidak mencoba melakukannya di windows 2000, mungkin metode ini tidak akan berhasil.
Alex_L
1
Anda tidak dapat memutakhirkan langsung dari 2000 hingga 2012. Anda harus terlebih dahulu meningkatkan ke 2005/2008/2008 R2, memperbarui tingkat kompatibilitas basis data Anda menjadi 90 atau 100, dan kemudian memutakhirkan ke 2012.
Aaron Bertrand
@ AaronBertrand apakah harus mengubah tingkat kompatibilitas untuk proses peningkatan?
StanleyJohns
2
Ya karena SQL Server 2012 tidak mendukung kompatibilitas 80 (2000). Anda tidak perlu mengubahnya hingga 110, tetapi Anda hanya perlu menyimpannya dalam 90 atau 100 jika Anda memiliki alasan yang bagus ...
Aaron Bertrand
1

Perhatikan kolom yang berisi posting blog, misalnya.

Tipe text, ntextdan imagetipe data yang sering digunakan dalam SQL Server 2000, tidak digunakan lagi dalam SQL Server 2012 (meskipun masih tersedia), dan harus diganti dengan varchar(max), nvarchar(max)dan varbinary(max)tipe data, masing-masing.

mjjjj2001
sumber
1

Berikut ini pertanyaan singkat untuk melihat apakah ada tabel Anda yang menggunakan tipe data yang sudah tidak digunakan lagi.

SELECT  sys.objects.NAME AS [table_name] ,
        sys.columns.NAME AS [column_name] ,
        sys.types.NAME AS [data_type]
FROM    ( sys.columns
          INNER JOIN sys.objects ON sys.objects.object_id = sys.columns.object_id
        ) INNER JOIN sys.types ON sys.types.system_type_id = sys.columns.system_type_id
WHERE   sys.types.name IN ( 'text', 'ntext', 'image' )
RThomas
sumber