Khôi phục bản sao lưu cho phiên bản SQL Server cũ hơn


29

Khi cố gắng khôi phục bản sao lưu vào cơ sở dữ liệu SQL Server Express 2008, tôi đã gặp lỗi sau:

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

Có cách nào để có bản sao lưu tương thích với phiên bản cũ hơn (trong trường hợp của tôi là 10,253131) từ phiên bản mới hơn (trong trường hợp 10.50.1600) của SQL Server Express không?

Câu trả lời:


19

Bạn đã sử dụng trình hướng dẫn Nhập / Xuất trong SSMS để di chuyển mọi thứ

không "hạ cấp" có thể sao lưu sử dụng / khôi phục hoặc cửa sổ mới / đính kèm


8

Bạn có thể sử dụng trình hướng dẫn Nhập / Xuất để di chuyển dữ liệu giữa các cơ sở dữ liệu.

Nhấp chuột phải vào cơ sở dữ liệu bạn muốn xuất, chọn "Nhiệm vụ", sau đó "Xuất dữ liệu". Trình hướng dẫn sẽ hướng dẫn bạn trong suốt quá trình.

Bạn nói đúng, mặc dù. Bạn sẽ không thể thực hiện sao lưu / khôi phục chuyển từ SQL Server 2008 R2 sang SQL Server 2008 Express.


6

Cách duy nhất là tạo một cơ sở dữ liệu mới trên phiên bản 10:00.2531 và nhập dữ liệu từ 10.50.1600.

Bạn không thể khôi phục lại phiên bản cũ hơn.


6

Sao lưu SQL Server không hỗ trợ khả năng tương thích ngược

Các bước để có DB trên các phiên bản cũ hơn -

  • Đối với Lược đồ: nhấp chuột phải vào cơ sở dữ liệu của bạn -> Nhiệm vụ -> tạo tập lệnh -> tiếp theo -> tiếp theo -> nhấp vào nút nâng cao -> thay đổi tùy chọn "loại Dữ liệu thành tập lệnh" thành "lược đồ" - -> ok -> tiếp theo -> tiếp theo

  • Đối với Dữ liệu: nhấp chuột phải vào cơ sở dữ liệu của bạn -> Nhiệm vụ -> tạo tập lệnh -> tiếp theo -> tiếp theo -> nhấp vào nút nâng cao -> thay đổi tùy chọn "loại Dữ liệu thành tập lệnh" thành "dữ liệu" - -> ok -> tiếp theo -> tiếp theo


Một vấn đề với phương pháp này là đối với các cơ sở dữ liệu lớn (nhiều bảng và dữ liệu lớn) để chạy các tập lệnh để khôi phục mất nhiều thời gian. nhưng nó rất tiện dụng và dễ dàng
Iman

2

nhấp chuột phải vào cơ sở dữ liệu của bạn -> Nhiệm vụ -> tạo tập lệnh -> tiếp theo -> tiếp theo -> nhấp vào nút nâng cao -> thay đổi tùy chọn "loại Dữ liệu thành tập lệnh" thành "lược đồ và dữ liệu" - > ok -> next -> next để bây giờ bạn có một tập lệnh tạo cơ sở dữ liệu và bảng của nó và điền dữ liệu vào đó :);)


2
Tùy thuộc vào lượng dữ liệu, kịch bản đó có thể rất lớn ...
Thomas Rushton

1
@ThomasRushton Kịch bản đó theo định nghĩa sẽ lớn hơn cơ sở dữ liệu, có thể ít nhất gấp đôi nếu không nói là tồi tệ hơn! Tôi hy vọng nó không phải là cơ sở dữ liệu 50 GB ...
ErikE

Đây là một câu trả lời trùng lặp
Burgi

Đây không phải là một câu trả lời trùng lặp, nó là một câu trả lời tuyệt vời ở loại dữ liệu là "lược đồ VÀ dữ liệu"! ;-) đó là những gì tôi cần!
juFo

1
@Burgi câu trả lời này cũ hơn của DSingh. Anh ta chỉ cần sao chép của Sarah và thêm 2 tùy chọn, 1 cho lược đồ kia cho dữ liệu. Của anh ấy là bản sao.
basher
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.