เรามีอินสแตนซ์ของ SQL Server ที่ใช้สำหรับการเก็บถาวรอีเมล (ได้รับความอนุเคราะห์จากแพ็คเกจการเก็บถาวรของบุคคลที่สาม) บ่อยครั้งซอฟต์แวร์จะถูกนำไปวางในฐานข้อมูลเปล่าใหม่ เราเคยทำมาทุกไตรมาสในอดีต แต่เราต้องการทำรายเดือนในตอนนี้ จำนวนข้อมูลที่ถูกเก็บถาวรอยู่ที่ประมาณ 15 - 20 GB ต่อเดือนและข้อมูลจำนวนมากอยู่ในตารางเพียงไม่กี่ตาราง (โดยปกติคือ 2 - 4)
เมื่อเราหมุนไปยังฐานข้อมูลใหม่แล้วฐานข้อมูลเก่าจะถูกใช้บนพื้นฐานแบบอ่านอย่างเดียว สิ่งที่ฉันต้องการจะทำคือปรับให้เป็นไฟล์ข้อมูลที่ดีและแน่นหนาโดยมีตาราง / ดัชนีทั้งหมดต่อเนื่องกันและมีตัวประกอบการเติมสูงมากและไม่มีพื้นที่ว่างที่ท้ายแฟ้มข้อมูล นอกจากนี้เรากำลังใช้ Standard Edition บนเซิร์ฟเวอร์นี้ด้วยข้อ จำกัด ทั้งหมดที่บอกเป็นนัย (ไม่เช่นนั้นฉันจะใช้การบีบอัดข้อมูลอยู่แล้ว)
ความเป็นไปได้บางอย่างที่ฉันสามารถนึกได้:
- REBUILD / REORGANIZE ดัชนี DBCC SHRINKFILE (โอเคนี่ไม่ใช่ตัวเลือกที่สมเหตุสมผลเนื่องจาก DBCC SHRINKFILE จะแยกส่วนปัสสาวะออกจากสิ่งที่มันสัมผัส แต่ฉันรวมไว้เพื่อความสมบูรณ์)
- สร้างฐานข้อมูลใหม่โดยอัตโนมัติปิดสถานะ สคริปต์และสร้างตารางทั้งหมดจากฐานข้อมูลต้นฉบับอีกครั้ง ใช้ bcp เพื่อส่งออก / นำเข้าข้อมูลไปยังฐานข้อมูลใหม่ตามลำดับคีย์ - คลัสเตอร์ สคริปต์และสร้างดัชนีทั้งหมดใหม่ คำนวณสถิติทั้งหมดอีกครั้งด้วยการสแกนแบบเต็ม
- สร้างฐานข้อมูลใหม่โดยอัตโนมัติปิดสถานะ สคริปต์และสร้างตารางทั้งหมดจากฐานข้อมูลต้นฉบับอีกครั้ง ใช้ SSIS หรือ T-SQL เพื่อถ่ายโอนข้อมูลไปยังฐานข้อมูลใหม่ สคริปต์และสร้างดัชนีทั้งหมดใหม่ คำนวณสถิติทั้งหมดอีกครั้งด้วยการสแกนแบบเต็ม
ขั้นตอนสุดท้ายในทุกกรณีจะเป็นการตั้งค่าฐานข้อมูลเป็นโหมดอ่านอย่างเดียว
มีตัวเลือกอะไรที่ดี / ดีกว่านี้ในการทำสิ่งนี้? ความกังวลของฉันคือการย้ายข้อมูลไปในทางที่จะรักษาปัจจัยเติมสูงและในแบบที่ต่อเนื่องทางตรรกะ
แก้ไข:
ฉันควรพูดถึงว่าประมาณ 75% ของข้อมูลดูเหมือนว่าจะถูกเก็บไว้ในคอลัมน์ภาพ (LOB)
PRIMARY
?