6

Có sự cố nào sao lưu cơ sở dữ liệu từ SQL Server 2008 và sau đó nhập nó vào SQL Server 2005 không? Tôi đã nâng cấp lên SQL Server 2008, nhưng năm 2008 có vẻ là quá khó khăn vì vậy bây giờ tôi muốn hạ cấp. Có vấn đề gì trong việc này không?Hạ cấp máy chủ SQL 2008 sang SQL Server 2005

+2

Bất kỳ vấn đề cụ thể nào với SQL Server 2008? – MarlonRibunal

Trả lời

8

Vâng, bạn sẽ không thể khôi phục bản sao lưu 2008 sang máy chủ SQL 2005.

Cách dễ nhất để thực hiện là sử dụng thuật sĩ "Tạo kịch bản SQL Server Scripts" để tạo tập lệnh (bao gồm lược đồ và dữ liệu) mà bạn có thể chạy trên SQL 2005 để tạo cơ sở dữ liệu. Xem http://www.devx.com/dbzone/Article/40531

Nhưng quay lại vấn đề ban đầu: bạn đang gặp phải vấn đề gì với SQL 2008?

+4

Sql 2008 có tìm kiếm toàn văn tệ hại. – gersh

+0

Hoàn toàn đúng về các vấn đề FTS. Nó STILL có chúng (4 tháng sau). – NotMe

0

Cách khác để thực hiện việc này là kết nối với cả hai máy chủ thông qua trình thám hiểm đối tượng và nhập dữ liệu từ máy chủ này sang bộ lọc khác.

Khi thực hiện việc này, một số thứ không chuyển đúng cách. Ví dụ, tôi đã phải tự thiết lập lại các thiết lập khóa chính và khóa ngoài, cũng như cài đặt tự động tăng. Đó là một mức giá nhỏ để trả tiền, mặc dù, để có được tất cả các dữ liệu để làm việc.

0

Tôi đồng ý vấn đề là gì? bạn không thể chạy cơ sở dữ liệu trong chế độ tương thích SQL 2005 nếu nó là một cái gì đó về ứng dụng. Nếu bạn phải chuyển sang năm 2005, bạn không thể khôi phục cơ sở dữ liệu từ 08 đến 05.

Nếu bạn có DB lớn hơn 50mb hoặc vì vậy tôi sẽ viết lược đồ cơ sở dữ liệu của bạn bằng trình hướng dẫn tạo script, viết tất cả các phím của bạn, chỉ mục, trình kích hoạt, đối chiếu và bất kỳ chỉ mục văn bản đầy đủ nào mà bạn có mà không có dữ liệu. Chỉ cần nhớ kiểm tra kịch bản cho tùy chọn phiên bản sql 2005. Chạy tập lệnh đó để tạo cơ sở dữ liệu mới trên máy chủ sql của bạn 2005.

Nếu bạn có trình kích hoạt trên bảng, bạn sẽ muốn tắt tất cả trước khi bạn nhập dữ liệu. Các kịch bản này sẽ làm điều đó cho bạn. Chúng sẽ làm điều đó cho bạn

-- Disable Triggers 
While @i <= @MaxI 
Begin 
     Select @dsql = 'DISABLE Trigger ' + TriggerName + ' ON ' + TableName 
     From @DisableTriggers 
     Where MyRowCount = @i 
     Exec sp_executesql @dsql 
     Select @i = @i + 1 
End 

-- Enable Triggers 
While @i <= @MaxI 
Begin 
     Select @dsql = 'Enable Trigger ' + TriggerName + ' ON ' + TableName 
     From @DisableTriggers 
     Where MyRowCount = @i 
     Exec sp_executesql @dsql 
     Select @i = @i + 1 
End 

Sau đó, sử dụng trình hướng dẫn nhập/xuất để nhập dữ liệu vào cơ sở dữ liệu của bạn; điều này là nhanh hơn nhiều so với kịch bản ra kịch bản trong kinh nghiệm của tôi.

0

Bạn không thể khôi phục bản sao lưu cơ sở dữ liệu SQL Server được lấy từ SQL Server 2008 và khôi phục nó trên SQL Server 2005 vì điều này không được hỗ trợ bởi Microsoft. Để biết thêm lý do bạn không thể khôi phục cơ sở dữ liệu từ phiên bản cao hơn xuống phiên bản thấp hơn, hãy đọc article sau. Nếu bạn muốn hạ cấp cơ sở dữ liệu thì sử dụng có thể sử dụng Dịch vụ Tích hợp SQL Server. Một ví dụ để hạ cấp cơ sở dữ liệu SQL Server 2008 sang SQL Server 2005 được đề cập trong article sau.

Các vấn đề liên quan