ในบางครั้งระหว่างการบำรุงรักษาดัชนีของเรางานจะล้มเหลวพร้อมกับข้อผิดพลาด SEV 17 ที่ไม่สามารถจัดสรรพื้นที่ได้เพียงพอสำหรับวัตถุที่สร้างใหม่ ฐานข้อมูลถูกจัดวางเช่น:
Data_file1 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file2 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file3 PRIMARY 0 growth Less than 1% free Max Size UNLIMITED
Data_file4 PRIMARY 250 MB growth Less than 1% free Max Size UNLIMITED
โดยพื้นฐานแล้วไฟล์ข้อมูล 3 ใน 4 ไฟล์นั้นเต็มและไม่ได้รับอนุญาตให้เติบโตไฟล์ที่สี่นั้นเต็มและได้รับอนุญาตให้เติบโต ไฟล์ถูกกระจายไปทั่ว LUNs ที่ต่างกัน (และสาเหตุที่ทำให้ยุ่งเหยิง) ดังนั้นเมื่อการสร้างดัชนีออนไลน์เริ่มใหม่อีกครั้งฉันเข้าใจว่าหากต้องการพื้นที่เพิ่มเติมใด ๆ มันจะเติบโตเป็น Data_file4 และใช้ได้ แต่ดูเหมือนว่าจะพยายามเติบโตเป็นไฟล์อื่นที่ไม่อนุญาตให้มีการเติบโตและล้มเหลว ฉันไม่สามารถทำซ้ำข้อผิดพลาดนี้ได้ แต่ฉันสงสัยว่ามีใครเข้าใจสาเหตุที่เกิดขึ้นนี้หรือไม่
SQL Server เวอร์ชันเต็มคือ 2008 R2 Enterprise, SP2 CU 4 (10.50.4270) เราใช้ Ola Hallengren เป็นสร้างสคริปต์ที่เราสร้างออนไลน์ tempdb
แต่ไม่มีการจัดเรียงใน
max_size is
ขณะนี้ตั้งค่าเป็นไม่ จำกัด แม้ในรายการที่เติบโต 0 ฉันกำลังตรวจสอบเรื่องนี้ในการทดสอบการทำสำเนาของฉันตอนนี้
If max_size is not specified, the file size will increase until the disk is full.
ได้รับแล้วหากการเติบโตอัตโนมัติปิดอยู่ซึ่งไม่ควรพยายามจัดสรรจากไฟล์เหล่านั้น (A value of 0 indicates that automatic growth is set to off and no additional space is allowed.
) แต่อาจมีข้อผิดพลาดดังนั้นจึงไม่เจ็บที่จะลองดูหากยังไม่ได้ตั้งค่า