Nâng cấp quy trình từ SQL Server 2000 lên SQL Server 2012


8

Tôi có cơ sở dữ liệu SQL Server 2000 mà tôi muốn nâng cấp lên SQL Server 2012 (chạy trên một máy chủ khác).

Tôi không nghĩ có một con đường nâng cấp trực tiếp, nhưng nếu có, nó là gì?

Kế hoạch hiện tại của tôi là:

  1. Sao lưu cơ sở dữ liệu SQL Server 2000
  2. Khôi phục trên máy chủ đã cài đặt SQL Server 2008
  3. Đặt mức độ tương thích thành 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Sao lưu cơ sở dữ liệu từ máy chủ SQL Server 2008
  5. Khôi phục trên máy chủ đã cài đặt SQL Serevr 2012
  6. Đặt mức độ tương thích thành 110(SQL Server 2012)

Tôi đang làm những bước không cần thiết? Tôi có thiếu gì không (như chạy các tiện ích để xác định việc sử dụng Transact-SQL không được hỗ trợ)?


Bạn vẫn muốn làm những việc như cập nhật số liệu thống kê, nhưng nếu không thì quá trình của bạn có vẻ đúng với tôi.
Aaron Bertrand

Không phải là 2008 / R2 - 2005 được hỗ trợ vào năm 2012.
OMG Ponies

Câu trả lời:


5

Không, như tôi thấy, bạn đã không bỏ lỡ bất cứ điều gì. Tôi đã nâng cấp một trong những cơ sở dữ liệu của mình từ SQL Server 2000 lên SQL Server 2012.

Một cách khác là nâng cấp toàn bộ máy chủ - trong trường hợp này bạn có thể sử dụng trình hướng dẫn nâng cấp.

CẬP NHẬT: quá trình nâng cấp của tôi đã thành công, nhưng hãy cẩn thận về các tính năng bị ngưng và không dùng nữa trong SQL Server 2008 và 2012.


Có cách nào tự động để xác định những tính năng bị ngưng và mất giá không?
tự động

Đối với 2000-> 2008, cách này là sử dụng Trình hướng dẫn nâng cấp. Trong SQL Server 2000, bạn nên chạy thiết lập SQL Server 2008 và sau đó chọn Lập kế hoạch -> Cài đặt nâng cấp adwizor. Sau khi cài đặt hãy thử chạy nó. Nhưng tôi đã không thử làm điều đó trên windows 2000, có lẽ phương pháp này sẽ không hiệu quả.
Alex_L

1
Bạn không thể nâng cấp trực tiếp từ năm 2000 đến 2012. Trước tiên, bạn cần nâng cấp lên 2005/2008/2008 R2, cập nhật mức độ tương thích của cơ sở dữ liệu của bạn lên 90 hoặc 100, sau đó nâng cấp lên 2012.
Aaron Bertrand

@AaronBertrand có bắt buộc phải thay đổi mức độ tương thích cho quá trình nâng cấp không?
StanleyJohns

2
Có vì SQL Server 2012 không hỗ trợ khả năng tương thích 80 (2000). Bạn không cần phải thay đổi tất cả lên đến 110, nhưng bạn chỉ nên giữ nó trong 90 hoặc 100 nếu bạn có lý do chính đáng ...
Aaron Bertrand

1

Hãy chú ý đến các cột có chứa bài viết blog, ví dụ.

Các text, ntextimagecác kiểu dữ liệu thường xuyên được sử dụng trong SQL Server 2000, đang bị phản đối trong SQL Server 2012 (mặc dù họ vẫn có sẵn), và cần được thay thế bằng varchar(max), nvarchar(max)varbinary(max)các kiểu dữ liệu tương ứng.


1

Đây là một truy vấn nhanh để xem liệu có bất kỳ bảng nào của bạn đang sử dụng các loại dữ liệu không dùng nữa không.

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' )
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.