ไฟล์ฐานข้อมูลที่สร้างขึ้นโดยใช้ SQL 2008 ไม่สามารถทำงานร่วมกับปี 2005 มีวิธีแก้ไขหรือไม่?
ไฟล์ฐานข้อมูลที่สร้างขึ้นโดยใช้ SQL 2008 ไม่สามารถทำงานร่วมกับปี 2005 มีวิธีแก้ไขหรือไม่?
คำตอบ:
ไม่จำเป็นต้องใช้เครื่องมือของบุคคลที่สาม SQL Server 2008 Management Studio ทำให้เรามีเครื่องมือที่มีประสิทธิภาพมากในการแปลงฐานข้อมูลเพราะพวกเขาเพิ่มตัวเลือก "ข้อมูลสคริปต์" ให้กับตัวช่วยสร้าง
เพียงคลิกขวาที่ฐานข้อมูลใน SQL2008 SSMS และไปที่งานจากนั้น "สร้างสคริปต์"
เดินผ่านตัวช่วยสร้างตรวจสอบให้แน่ใจว่าได้เลือก "จริง" สำหรับ "ข้อมูลสคริปต์" ภายใต้ตัวเลือกตาราง / มุมมอง เลือกวัตถุทั้งหมดจากนั้นเรียกใช้สคริปต์ที่สร้างบนเซิร์ฟเวอร์ 2005 (โปรดทราบว่าสคริปต์ที่สร้างขึ้นอาจมีขนาดใหญ่หากฐานข้อมูลดั้งเดิมมีขนาดใหญ่มาก!)
โปรดทราบว่าคุณสามารถเรียกใช้ตัวช่วยสร้างกับเซิร์ฟเวอร์ SQL2005 เพื่อแปลงฐานข้อมูล SQL2005 เป็น SQL2000 (คุณต้องใช้เครื่องมือ 2008 ที่ติดตั้งบนเวิร์กสเตชันของคุณ)
คุณสามารถ BCP ข้อมูลจากอินสแตนซ์ SQL Server หนึ่งไปยังอินสแตนซ์อื่น นั่นจะเป็นวิธีที่เร็วที่สุดในการคัดลอกข้อมูลจากรุ่นหนึ่งไปอีกรุ่นหนึ่ง อาจใช้เวลานานขึ้นอยู่กับปริมาณข้อมูล
ไม่มีทางตรงที่ฉันรู้เพื่อลดระดับ DB จากรูปแบบของปี 2008 เป็นปี 2005 น่าเสียดาย
วิธีที่ฉันทำสิ่งนี้ในอดีต (จริง ๆ แล้วกับเซิร์ฟเวอร์ SQL รุ่นเก่า แต่กระบวนการจะเหมือนกัน) คือ:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
ถ้าคุณเชื่อมโยงอินสแตนซ์ ) อาจมีประสิทธิภาพมากกว่าเพียงแค่คัดลอกข้อมูลก่อนและเพิ่มโครงสร้างอื่น ๆ ทั้งหมด (ดัชนี procs ทริกเกอร์ ... ) หลังจากขั้นตอนที่ 3 ซึ่งจะเป็นการหลีกเลี่ยงปัญหาการแทรกแถวแทรกของการสั่งซื้อที่เกิดจากข้อ จำกัด และทริกเกอร์และสร้างดัชนีที่ ในท้ายที่สุดแล้วในทางทฤษฎีควรจะเร็วกว่าการสร้างเป็นข้อมูลทั้งหมด แต่ถ้าคุณมีดัชนีกลุ่มใด ๆ บนตารางของคุณสร้างสิ่งเหล่านี้ก่อนที่จะเพิ่มข้อมูลเพราะมันจะไม่เร็วกว่าที่จะสร้างหลังจากข้อเท็จจริง
แน่นอนว่าทั้งหมดนี้ถือว่าไม่มีวัตถุใดที่ใช้คุณสมบัติเฉพาะของ SQL 2008 - หากพวกเขาหวังว่าคุณจะค้นพบและแก้ไขสิ่งต่าง ๆ เหล่านี้เมื่อเกิดข้อผิดพลาดเมื่อสร้างสคีมาใหม่ หากรหัสใด ๆ ของคุณขึ้นอยู่กับพฤติกรรมที่ไม่ได้กำหนดอย่างเป็นทางการซึ่งเกิดขึ้นกับรุ่นที่แตกต่างกันระหว่าง SQL Server คุณอาจมีข้อบกพร่องที่ละเอียดอ่อนและมีข้อผิดพลาดบางประการ
ฉันต้องเผชิญกับสถานการณ์ที่คล้ายคลึงกันและใช้ Database Publishing Wizard กับสคีสคริปต์และข้อมูลสำหรับ SQL Server 2005 จากฐานข้อมูล SQL Server 2008
ก่อนอื่นคุณต้องสคริปต์ฐานข้อมูลและตรวจสอบให้แน่ใจในรุ่นที่คุณระบุประเภทที่คุณต้องการเกรดลง และหากต้องการคัดลอกข้อมูลจากเวอร์ชันที่สูงกว่าไปเป็นข้อมูล SQL เวอร์ชันต่ำกว่าจะเป็นการหลอกลวงให้คุณ
โชคดี!