การกู้คืนการสำรองข้อมูลเป็น SQL Server เวอร์ชันเก่า


29

เมื่อพยายามคืนค่าการสำรองข้อมูลไปยังฐานข้อมูลSQL Server Express 2008ฉันได้รับข้อผิดพลาดดังต่อไปนี้:

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)

มีวิธีรับสำรองซึ่งเข้ากันได้กับรุ่นเก่า (ในกรณีของฉัน 10.00.2531) จากรุ่นใหม่กว่า (ในกรณีของฉัน 10.50.1600) รุ่นของ SQL Server Express หรือไม่

คำตอบ:


19

คุณต้องใช้ตัวช่วยสร้างการนำเข้า / ส่งออกใน SSMS เพื่อย้ายข้อมูลทุกอย่าง

นอกจากนี้ยังไม่มีการ "ปรับลด" ไปได้โดยใช้ backup / restore หรือ detach / แนบ


8

คุณสามารถใช้ตัวช่วยสร้างการนำเข้า / ส่งออกเพื่อย้ายข้อมูลระหว่างฐานข้อมูล

คลิกขวาที่ฐานข้อมูลที่คุณต้องการส่งออกเลือก "งาน" จากนั้น "ส่งออกข้อมูล" ตัวช่วยสร้างจะแนะนำคุณตลอดกระบวนการ

คุณพูดถูก คุณจะไม่สามารถสำรองข้อมูล / คืนค่าการย้ายจาก SQL Server 2008 R2ไปยัง SQL Server 2008 Express


6

วิธีเดียวคือการสร้างฐานข้อมูลใหม่ในเวอร์ชัน 10.00.2531 และนำเข้าข้อมูลจาก 10.50.1600

คุณไม่สามารถกู้คืนเป็นรุ่นที่เก่ากว่าได้


6

การสำรองข้อมูล SQL Server ไม่รองรับความเข้ากันได้แบบย้อนหลัง

ขั้นตอนในการรับ DB ในเวอร์ชันที่เก่ากว่า -

  • สำหรับสคีมา: คลิกขวาที่ฐานข้อมูลของคุณ -> งาน -> สร้างสคริปต์ -> ถัดไป -> ถัดไป -> คลิกที่ปุ่มขั้นสูง -> เปลี่ยนตัวเลือก "ประเภทของข้อมูลเป็นสคริปต์" เป็น "สคีมา" - -> ตกลง -> ถัดไป -> ถัดไป

  • สำหรับข้อมูล: คลิกขวาที่ฐานข้อมูลของคุณ -> งาน -> สร้างสคริปต์ -> ถัดไป -> ถัดไป -> คลิกที่ปุ่มขั้นสูง -> เปลี่ยนตัวเลือก "ประเภทของข้อมูลเป็นสคริปต์" เป็น "ข้อมูล" - -> ตกลง -> ถัดไป -> ถัดไป


ปัญหาอย่างหนึ่งของวิธีนี้คือสำหรับฐานข้อมูลขนาดใหญ่ (หลายตารางและข้อมูลขนาดใหญ่) การเรียกใช้สคริปต์เพื่อคืนค่าใช้เวลานาน แต่มันมีประโยชน์และง่าย
Iman

2

คลิกขวาที่ฐานข้อมูลของคุณ -> งาน -> สร้างสคริปต์ -> ถัดไป -> ถัดไป -> คลิกที่ปุ่มขั้นสูง -> เปลี่ยนตัวเลือก "ประเภทของข้อมูลเป็นสคริปต์" เป็น "สคีมาและข้อมูล" - > ok -> ถัดไป -> ถัดไปดังนั้นตอนนี้คุณมีสคริปต์ที่สร้างฐานข้อมูลและตารางและเติมข้อมูลในนั้น :);)


2
ทั้งนี้ขึ้นอยู่กับปริมาณของข้อมูลสคริปต์ที่อาจจะมหาศาล ...
โทมัสรัชตัน

1
@ThomasRushton สคริปต์นั้นตามนิยามจะใหญ่กว่าฐานข้อมูลของตัวเองโดยอาจเป็นสองเท่าเป็นอย่างน้อยถ้าไม่แย่ลง! ฉันหวังว่ามันไม่ได้เป็นฐานข้อมูล 50 GB ...
ErikE

นี่คือคำตอบที่ซ้ำกัน
Burgi

นี่ไม่ใช่คำตอบที่ซ้ำกันมันเป็นคำตอบที่ดีที่ประเภทของข้อมูลคือ "สคีมาและข้อมูล"! ;-) ซึ่งเป็นสิ่งที่ฉันต้องการ!
juFo

1
@Burgi คำตอบนี้เก่ากว่าของ dsingh เขาคัดลอก Sarah's และเพิ่ม 2 ตัวเลือก 1 ตัวเลือกสำหรับ Schema อีกอันสำหรับข้อมูล ของเขานั้นซ้ำซ้อน
basher
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.