ฉันมีฐานข้อมูลการผลิตขนาดใหญ่มากและฐานข้อมูลสภาพแวดล้อมการทดสอบขนาดใหญ่มากใน SQL Server 2008R2 ฐานข้อมูลทั้งสองมีโครงสร้างตารางที่คล้ายกัน แต่ผู้ใช้ / การเข้าสู่ระบบ / สิทธิ์ / บทบาทที่แตกต่างกัน
ฉันต้องการรีเฟรชเพียงไม่กี่ตารางในฐานข้อมูลการทดสอบเป็นระยะ ๆ จากการผลิตประมาณเดือนละครั้ง
วิธีปัจจุบันที่ฉันวางแผนจะทำคือ
- ใช้ยูทิลิตี้ BCP เพื่อทำการส่งออกตารางที่ฉันต้องการจากการผลิต
- คัดลอกไฟล์ส่งออก bcp ไปยังเซิร์ฟเวอร์ทดสอบ
- ปิดการใช้งานดัชนีและข้อ จำกัด ในตารางทั้งหมดที่ฉันรีเฟรชในการทดสอบ
- ตัดทอนตารางฐานข้อมูลทดสอบ
- โหลดข้อมูลกลับเข้าไปในตารางฐานข้อมูลทดสอบโดยใช้ BCP
- สร้างดัชนีใหม่และเปิดใช้งานข้อ จำกัด ในการทดสอบอีกครั้ง
ทั้งหมดนี้ดูเหมือนจะซับซ้อนเกินไปสำหรับงานเล็ก ๆ น้อย ๆ ดูเหมือนว่าจะสร้างการทำซ้ำจำนวนมาก (ใน t-log) มีวิธีที่ดีกว่าในการทำเช่นนี้หรือไม่?
อีกวิธีที่ฉันคิดว่าทำเช่นนี้คือการคืนค่าการสำรองข้อมูลจากการผลิตสู่สภาพแวดล้อมการทดสอบ - แต่ปัญหาที่ฉันมีคือการสำรองข้อมูลเต็มรูปแบบจะมีขนาดค่อนข้างใหญ่และฉันไม่ต้องการให้ทุกตารางทำการรีเฟรช - และผู้ใช้และความปลอดภัยในฐานข้อมูลการผลิตแตกต่างจากการทดสอบ ที่จะถูกเขียนทับโดยการตั้งค่าความปลอดภัยในฐานข้อมูลการผลิตถ้าฉันคืนค่าฐานข้อมูลทั้งหมด