ข้อควรพิจารณาสำหรับการตั้งค่า "autogrow" และ "autoshrink" ใน SQL Server

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 315512 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

ค่าเริ่มต้นautogrowและautoshrinkการตั้งค่าจะให้คุณทำงานกับการปรับที่ไม่มีค่าใน SQL Server หลายระบบ อย่างไรก็ตาม มีสภาพแวดล้อมที่คุณไม่มีการเปิดการตั้งค่าหรือที่คุณอาจมีการปรับปรุงนี้autogrowและautoshrinkพารามิเตอร์ บทความนี้ให้ข้อมูลบางอย่างพื้นหลังเพื่อนำคุณเมื่อคุณเลือกการตั้งค่าสำหรับสภาพแวดล้อมการทำงานของคุณ

ข้อมูลเพิ่มเติม

ต่อไปนี้เป็นบางสิ่งที่ควรพิจารณาถ้าคุณตัดสินใจว่า การปรับแต่งของคุณautogrowและautoshrinkพารามิเตอร์

อย่างไรฉันต้องกำหนดการตั้งค่าหรือไม่

  1. คุณสามารถกำหนดค่านี้autogrowและautoshrinkการตั้งค่า โดยใช้อย่างใดอย่างหนึ่งต่อไปนี้:
    • คำสั่งการเปลี่ยนแปลงฐานข้อมูล (ไม่พร้อมใช้งานใน SQL Server 7.0)
    • Studio จัดการเซิร์ฟเวอร์ sql หรือตัวจัดการองค์กร SQL
    • กระบวนการsp_dboptionกระบวนงานที่เก็บไว้ (deprecated ใน SQL Server 2005)
    หมายเหตุ:ถ้าคุณใช้ SQL Server 2005 ใช้ Studio จัดการเซิร์ฟเวอร์ SQL แทนตัวจัดการองค์กรของ SQL สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการตั้งค่าการตั้งค่าเหล่านี้ใน SQL Server 2005 แวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
    วิธีการ: เพิ่มข้อมูลหรือแฟ้มล็อกฐานข้อมูล (SQL Server Management Studio)
    http://msdn2.microsoft.com/en-us/library/ms189253.aspx
    คุณสมบัติของฐานข้อมูล (แฟ้มเพจ)
    http://msdn2.microsoft.com/en-us/library/ms180254.aspx
    คุณยังสามารถกำหนดค่านี้autogrowตัวเลือกเมื่อคุณสร้างฐานข้อมูล

    คุณสามารถดูการตั้งค่าปัจจุบันถึงคุณสมบัติของฐานข้อมูลใน SQL องค์กร Manager (SEM) หรือ คุณสามารถเรียกใช้คำสั่ง Transact SQL ต่อไปนี้:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. ปัญหาการเก็บไว้ในที่นี้autogrowการตั้งค่าที่มีต่อแฟ้ม ดังนั้น คุณจำเป็นต้องกำหนดพารามิเตอร์เหล่านั้นในสถานที่สองน้อยสำหรับแต่ละฐานข้อมูล (หนึ่งในแฟ้มข้อมูลหลัก) และหนึ่งสำหรับแฟ้มบันทึกหลัก ถ้าคุณมีหลายแฟ้มข้อมูลและ/หรือล็อก คุณต้องเซ็ตตัวเลือกต่าง ๆ บนแต่ละแฟ้ม ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ คุณอาจลงท้าย ด้วยการตั้งค่าที่แตกต่างกันสำหรับแต่ละแฟ้มฐานข้อมูล

เกี่ยวข้องด้านประสิทธิภาพการทำงานคืออะไร

  • หากคุณเรียกใช้ธุรกรรมที่จำเป็นต้องมีพื้นที่การบันทึกมากขึ้นกว่า และเปิดใช้งานอยู่autogrowตัวเลือกสำหรับการล็อกธุรกรรมของฐานข้อมูลนั้น นั้นเวลาในธุรกรรมการให้เสร็จสมบูรณ์จะรวมเวลาในล็อกธุรกรรมการขยาย ด้วยยอดเงินที่กำหนดไว้ ถ้ามีการเพิ่มเรขาคณิตมีขนาดใหญ่ หรือมีปัจจัยอื่น ๆ บางอย่างที่ทำให้เกิดการใช้เวลานาน แบบสอบถามที่คุณเปิดธุรกรรมอาจล้มเหลวเนื่องจากความผิดพลาดการหมดเวลา เรียงลำดับเดียวกันของปัญหาอาจส่งผลจากการ autogrow ของส่วนข้อมูลของฐานข้อมูลของคุณ การเปลี่ยนแปลงของคุณautogrowตั้งค่าคอนฟิก ดูหัว "ฐานข้อมูลการเปลี่ยนแปลง" ข้อใน SQL Server หนังสือออนไลน์
  • หากคุณเรียกใช้ธุรกรรมที่มีขนาดใหญ่ที่ต้องการบันทึกการ grow ธุรกรรมอื่น ๆ ที่ต้องการเขียนไว้ในล็อกธุรกรรมจะมีการรอจนกว่าการดำเนินการ grow เสร็จสมบูรณ์
  • ถ้าคุณรวมautogrowและautoshrinkตัวเลือก คุณอาจสร้างไม่จำเป็น overhead ตรวจสอบให้แน่ใจว่า thresholds ที่ทริกเกอร์ grow นั้น และดำเนินการลดขนาดจะไม่ทำบ่อย ๆ ขึ้นและลงการเปลี่ยนแปลงขนาด ตัวอย่างเช่น คุณอาจเรียกใช้ธุรกรรมที่ทำให้เกิดการล็อกธุรกรรมการเพิ่ม โดย 100 MB ตามเวลาที่มัน commits บางครั้งหลังจากที่การautoshrinkเริ่มการทำงาน และการลดขนาดล็อกธุรกรรม โดย 100 MB จากนั้นคุณเรียกใช้ธุรกรรมเดียวกัน และจะทำให้เกิดการล็อกธุรกรรมการเพิ่ม โดย 100 MB อีกครั้ง ในตัวอย่างนั้น คุณกำลัง overhead และอาจสร้างการกระจายตัวของแฟ้มบันทึก อย่างใดอย่างหนึ่งซึ่งส่งผลต่อประสิทธิภาพการทำงานได้ negatively ไม่จำเป็น
  • การกระจายตัวที่มีอยู่จริงจากการเปลี่ยนขนาดของแฟ้มข้อมูลหรือล็อกสามารถมี affect ที่รุนแรงประสิทธิภาพการทำงานของคุณ นี้เป็นจริงไม่ว่าคุณใช้การตั้งค่าโดยอัตโนมัติหรือไม่ว่าคุณด้วยตนเองขยาย และลดขนาดแฟ้มบ่อย ๆ
  • ถ้าคุณได้ขยายฐานข้อมูลของคุณ โดยเล็กน้อย หรือ ถ้าคุณเพิ่มไว้แล้ว ย่อ คุณสามารถจบขึ้น ด้วยการกระจายตัวของดิสก์ ดิสก์การกระจายตัวของอาจทำให้เกิดปัญหาประสิทธิภาพการทำงานในบางสถานการณ์ได้ สถานการณ์การเพิ่มขนาดเล็กเรขาคณิตยังอาจลดประสิทธิภาพการทำงานบนระบบของคุณ
  • ใน SQL Server 2005 หรือรุ่นหลัง คุณสามารถเปิดใช้งานการเตรียมใช้งานแฟ้มการโต้ตอบแบบทันที การเตรียมใช้งานแฟ้มการโต้ตอบแบบทันทีที่ความเร็วอัพการปันส่วนของแฟ้มสำหรับแฟ้มข้อมูลเท่านั้น การเตรียมใช้งานแฟ้มการโต้ตอบแบบทันทีไม่ได้ใช้ระบบแฟ้ม
  • ถ้าคุณมี growths แฟ้มจำนวนมากในแฟ้มบันทึกของคุณ คุณอาจมีขนาดใหญ่ excessively จำนวนแฟ้มบันทึกเสมือน (VLF) ซึ่งสามารถนำไปสู่ปัญหาประสิทธิภาพการทำงานกับฐานข้อมูลเริ่มต้น/แบบออนไลน์ดำเนิน การจำลองแบบ การมิเรอร์ และเปลี่ยนแปลงการจับภาพของข้อมูล (CDC) นอกจากนี้ ซึ่งอาจทำให้บางครั้งเกิดปัญหาประสิทธิภาพการทำงานกับการปรับเปลี่ยนข้อมูล

วิธีปฏิบัติที่ดีที่สุด

  • สำหรับระบบการผลิตที่ได้รับการจัดการ คุณต้องพิจารณาautogrowเมื่อต้องการจะ contingency สำหรับเรขาคณิตที่ไม่คาดคิดแค่ ไม่จัดเรขาคณิตของข้อมูลและการล็อกในแต่ละวันด้วยautogrow.
  • คุณสามารถใช้การแจ้งเตือนหรือโปรแกรมที่ตรวจสอบเพื่อตรวจสอบขนาดของแฟ้ม และขยายแฟ้ม proactively ซึ่งช่วยคุณหลีกเลี่ยงการกระจายตัว และอนุญาตให้คุณสามารถเลื่อนกิจกรรมการบำรุงรักษาเหล่านี้จะไม่ได้สูงสุดชั่วโมง
  • AutoShrinkและautogrowต้องมีอย่างรอบคอบประเมิน โดยผู้ดูแลของฐานข้อมูล trained จดทะเบียน (DBA); พวกเขาต้องไม่ถูกปล่อยให้ไม่มีการจัดการ
  • ของคุณautogrowคุณต้องเพิ่มขนาดใหญ่พอที่จะหลีกเลี่ยงการอาญาประสิทธิภาพการทำงานที่แสดงในส่วนก่อนหน้า ค่าที่แน่นอนเพื่อใช้ในการตั้งค่าการตั้งค่าคอนฟิกของคุณและเลือกระหว่างแบบเรขาคณิตเปอร์เซ็นต์และแบบเรขาคณิตขนาดเมกะไบต์ที่เจาะจงขึ้นอยู่กับปัจจัยหลายอย่างในสภาพแวดล้อมการทำงานของคุณ นิ้วหัวแม่แบบทั่วไปกฎของมือคุณสามารถใช้สำหรับการทดสอบที่มีการ ตั้งค่าของคุณautogrowการตั้งค่าการประมาณหนึ่งแปดขนาดของแฟ้ม
  • เปิดการ<maxsize>ตั้งค่าสำหรับแต่ละแฟ้มเพื่อป้องกันหนึ่งแฟ้มใด ๆ จากเติบไปยังจุดที่จะใช้ค่าทั้งหมดพร้อมใช้งานดิสก์ว่าง</maxsize>
  • รักษาขนาดของธุรกรรมของคุณขนาดเล็กมากที่สุดเพื่อป้องกันไม่ให้แฟ้มที่ไม่ได้วางแผนเรขาคณิต

เหตุใดฉันต้องกังวลว่าพื้นที่ดิสก์ถ้ามีควบคุมการตั้งค่าขนาดโดยอัตโนมัติหรือไม่

  • กระบวนการautogrowการตั้งค่าไม่สามารถขยายขนาดฐานข้อมูลเกินขีดจำกัดพื้นที่ว่างของดิสก์บนไดรฟ์ที่กำหนดแฟ้ม ดังนั้น ถ้าคุณมีปัญหาในการautogrowฟังก์ชันการปรับขนาดฐานข้อมูลของคุณ คุณต้องตรวจสอบเนื้อที่บนฮาร์ดดิสก์ที่พร้อมใช้งานของคุณได้อย่างอิสระยังคงอยู่ กระบวนการautogrowนอกจากนี้ยังมีจำกัดการตั้งค่า โดย MAXSIZE พารามิเตอร์ที่คุณเลือกสำหรับแต่ละแฟ้ม เมื่อต้องการลดการทำงานออกจากพื้นที่ที่อาจเกิดขึ้น คุณสามารถตรวจสอบตัวนับการตรวจสอบประสิทธิภาพวัตถุฐานข้อมูล SQL Server:: ขนาดของแฟ้มข้อมูล (KB)และตั้งค่าข้อความแจ้งเตือนสำหรับเมื่อฐานข้อมูลถึงขนาดที่แน่นอน
  • เรขาคณิตของข้อมูลหรือการบันทึกแฟ้มที่ไม่ได้วางแผนสามารถใช้พื้นที่ว่างที่คาดว่าจะพร้อมใช้งานโปรแกรมประยุกต์อื่น และอาจทำให้ที่โปรแกรมประยุกต์อื่นจะพบปัญหา
  • เพิ่มเรขาคณิตของล็อกธุรกรรมของคุณต้องมีขนาดใหญ่พอที่จะยังคงอยู่ก่อนหน้าของความต้องการของหน่วยของธุรกรรม แม้แต่ด้วยautogrowเปิดใช้งานอยู่ คุณสามารถรับข้อความว่าล็อกธุรกรรมทั้งหมด หากคุณไม่สามารถขยายเร็วพอเพื่อตอบสนองความต้องการของแบบสอบถามของคุณ
  • sql Server ไม่ constantly ทดสอบสำหรับฐานข้อมูลที่มีในการเข้าชมเขตแดนที่กำหนดไว้สำหรับautoshrink. แทน จะปรากฏในฐานข้อมูลที่พร้อมใช้งาน และค้นหาแรกที่ถูกกำหนดค่าให้ autoshrink โปรแกรมตรวจสอบฐานข้อมูลนั้น และลดขนาดฐานข้อมูลนั้นได้ถ้าจำเป็น จากนั้น มันรอหลายนาทีก่อนการตรวจสอบฐานข้อมูลถัดไปที่มีการกำหนดค่าสำหรับautoshrink. ในอย่างอื่น SQL Server ไม่ตรวจสอบฐานข้อมูลทั้งหมดในคราวเดียวกัน และลดขนาดแฟ้มทั้งหมดในคราวเดียวกัน จะทำงานผ่านฐานข้อมูลในต้องปัด robin เพื่อ stagger การโหลดหมดระยะเวลา ดังนั้น ขึ้นอยู่กับฐานข้อมูลจำนวนบนอินสแตนซ์ของ SQL Server เฉพาะคุณได้กำหนดค่าการ autoshrink อาจใช้เวลาหลายชั่วโมงจากฐานข้อมูลจนกว่านั้นจริง ๆ ลดขนาดเขตแดนกลิ้งครั้ง

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเพิ่ม และการลดขนาดแฟ้มฐานข้อมูลและแฟ้มบันทึกของคุณ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
256650วิธีการลดขนาดล็อกธุรกรรมของ SQL Server 7.0
272318ลดขนาดแฟ้มบันทึกของธุรกรรมใน SQL Server 2000 ด้วย DBCC SHRINKFILE
317375ล็อกของธุรกรรม grows โดยไม่คาดคิด หรือใช้ทั้งหมดบนคอมพิวเตอร์ที่ใช้ SQL Server
247751BUG: ลดแผนการบำรุงรักษาของฐานข้อมูลไม่ขนาดฐานข้อมูล
305635หมดเวลาเกิดขึ้นเมื่อมีการขยายฐานข้อมูลโดยอัตโนมัติ
949523เวลาแฝงของการทำแบบจำลองของทรานแซคชันไม่สูงใน SQL Server 2005 เมื่อค่าของคุณสมบัติ "ขนาดเริ่มต้น" และค่าของคุณสมบัติ Autogrowth มีขนาดเล็ก
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเตรียมใช้งานแฟ้มฐานข้อมูล แวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
การเตรียมใช้งานแฟ้มฐานข้อมูล
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปิดใช้งานการเตรียมใช้งานแฟ้มการโต้ตอบแบบทันที ไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรมทางกายภาพในล็อกธุรกรรม ไปที่ MSDN เว็บไซต์ต่อไปนี้:
SQL Server หนังสือออนไลน์ หัวข้อ: "ทรานแซคชันล็อกทางกายภาพสถาปัตยกรรม" "ลดขนาดในทรานแซคชันล็อก"

คุณสมบัติ

หมายเลขบทความ (Article ID): 315512 - รีวิวครั้งสุดท้าย: 17 กันยายน 2554 - Revision: 6.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Keywords: 
kbinfo kbmt KB315512 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:315512

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com