Select the product you need help with
คำอธิบายของ SQL Server การบล็อคที่เกิดจากการล็อกการคอมไพล์หมายเลขบทความ (Article ID): 263889 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้ เนื้อหาบนหน้านี้สรุปใน Microsoft SQL Server การคัดลอกแผนการกระบวนงานที่เก็บไว้ที่เดียวเท่านั้นคือโดยทั่วไปในแคชในแต่ละครั้ง บังคับใช้นี้ต้องใช้อนุกรมของบางส่วนของกระบวนการคอมไพล์ และซิงโครไนซ์นี้ได้ในส่วน โดยใช้การล็อกการคอมไพล์ ถ้าเชื่อมต่อมากพร้อมใช้กระบวนงานที่เก็บไว้เดียวกัน และล็อกการคอมไพล์ต้องได้รับสำหรับกระบวนงานที่เก็บไว้ทุกครั้งที่มีการทำงาน กระบวนการระบบ IDs (Spid) อาจเริ่มบล็อกอื่น ตามที่แต่ละพยายามล็อกการคอมไพล์แบบเอกสิทธิ์เฉพาะบุคคลบนวัตถุได้รับ ข้อมูลเพิ่มเติมRecompilation กระบวนงานที่เก็บไว้มีคำอธิบายหนึ่งสำหรับการล็อกการคอมไพล์บนกระบวนงานที่เก็บไว้หรือทริกเกอร์ การแก้ไขปัญหาในกรณีนี้คือ ลด หรือกำจัดการ recompiles คำอธิบายของเหตุผลทั่วไปมากที่สุดซึ่งอาจมีกระบวนงานที่เก็บไว้เพื่อจะ recompiled และบางข้อมูลที่เป็นประโยชน์ในการลดความถี่ของ recompiles ดูบทความฐานความรู้ของ Microsoft ต่อไปนี้: 243586 สถานการณ์อื่นที่คอมไพล์ล็อกเกิดขึ้นคือเมื่อเงื่อนไขต่อไปนี้เป็นจริง:
(http://support.microsoft.com/kb/243586/
)
Recompilation กระบวนงานที่เก็บไว้ในการแก้ไขปัญหา
หากพบการแผนที่มีอยู่ SQL Server นำแผนการแคช และคอมไม่จริงไพล์กระบวนงานที่เก็บไว้ อย่างไรก็ตาม ไม่มีเจ้าของคุณสมบัติบังคับให้ SQL Server เพื่อทำการค้นหาที่สองของแคช และได้รับการล็อกแบบเอกสิทธิ์เฉพาะบุคคลการคอมไพล์ก่อนที่โปรแกรมพิจารณาว่า แผนปฏิบัติการแคชอยู่แล้วสามารถนำ การขอรับการล็อก และการดำเนินการค้นหาและการทำงานอื่น ๆ ที่จำเป็นเพื่อที่มาถึงจุดนี้จะทำให้เกิดการหน่วงเวลาสำหรับการล็อกการคอมไพล์ที่ให้บล็อก นี้คือผู้ใช้จริงโดยเฉพาะอย่างยิ่งถ้าจำนวนมากที่ไม่ใช่เจ้าของกระบวนงานเก็บไว้ที่พร้อมให้เรียกใช้กระบวนงานโดยไม่มีการป้อนชื่อของเจ้าของ คุณควรตระหนักว่า ถึงแม้ว่าคุณไม่เห็น Spid ที่กำลังรอการคอมไพล์ล็อก ขาดคุณสมบัติของเจ้าของสามารถทำให้เกิดความล่าช้าในการปฏิบัติการกระบวนงานที่เก็บไว้ และทำให้เกิดการใช้งาน CPU สูงท่อ จะถูกบันทึกลำดับเหตุการณ์ต่อไปนี้ในการสืบค้นกลับของผู้สร้างโปรไฟล์ของเซิร์ฟเวอร์ SQL เมื่อเกิดปัญหานี้ (การติดตามเหตุการณ์ที่เกี่ยวข้องกับการแคช คุณต้องเปิดใช้งานเหตุการณ์ขั้นสูง เมื่อต้องการทำเช่นนี้ ให้คลิกตัวเลือกบนเครื่องเครื่องมือและเมนูแล้วเลือกระดับชั้นของเหตุการณ์ทั้งหมด) ยุบตารางนี้
SP:CacheMissเกิดขึ้นเมื่อแคค้นหาตามชื่อล้มเหลว ต่อไปนี้SP:ExecContextHitบ่งชี้ว่า แผนการแคชตรงท้ายที่สุดพบในแคชหลังจากรับการแก้ไขเป็น id ของวัตถุชื่อวัตถุที่ไม่ชัดเจน ทั้งนี้ขึ้นอยู่กับสถานการณ์SP:CacheHitอาจปรากฏขึ้นแทนSP:ExecContextHit. วิธีแก้ไขปัญหาของการคอมไพล์ล็อกคือการ ตรวจสอบให้แน่ใจว่า การอ้างอิงไปยังกระบวนงานที่เก็บไว้เป็นเจ้าของมีคุณสมบัติ (แทนที่เป็นของexec mystoredprocใช้ execdbo.mystoredproc.) ในขณะที่เจ้าของคุณสมบัติสำคัญคือเหตุผลด้านประสิทธิภาพการทำงาน คุณไม่มีการกำหนดลักษณะ proc เก็บไว้ ด้วยชื่อฐานข้อมูลเพื่อป้องกันการค้นหาเพิ่มเติมแค การบล็อคที่เกิดจากการคอมไพล์ที่ล็อกสามารถตรวจพบ โดยการใช้บล็อกสคริปต์เช่นที่ที่กำหนดไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้: 251004
(http://support.microsoft.com/kb/251004/
)
INF: วิธีการตรวจสอบ SQL Server 7.0 บล็อก271509 ต่อไปนี้คือ บางลักษณะทั่วไปของบล็อกการคอมไพล์ที่สามารถตรวจสอบในผลลัพธ์การบล็อคของสคริปต์:
(http://support.microsoft.com/kb/271509/
)
INF: วิธีการตรวจสอบการบล็อก SQL Server 2000
spid blocked waittype waittime lastwaittype waitresource
---- ------- -------- -------- ------------ -------------------------
221 29 0x000e 2141 LCK_M_X TAB: 6:834102 [[COMPILE]]
228 29 0x000e 2235 LCK_M_X TAB: 6:834102 [[COMPILE]]
29 214 0x000e 3937 LCK_M_X TAB: 6:834102 [[COMPILE]]
13 214 0x000e 1094 LCK_M_X TAB: 6:834102 [[COMPILE]]
68 214 0x000e 1968 LCK_M_X TAB: 6:834102 [[COMPILE]]
214 0 0x0000 0 LCK_M_X TAB: 6:834102 [[COMPILE]]บันทึกย่อ
ปัญหาที่ทราบต่อไปนี้เป็นปัญหาที่ทราบบางอย่างที่สามารถทำให้แผนการแคช:
คุณสมบัติหมายเลขบทความ (Article ID): 263889 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 4.0 ใช้กับ
แปลโดยคอมพิวเตอร์ ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:263889
(http://support.microsoft.com/kb/263889/en-us/
)
| การแปลบทความ
|




กลับไปด้านบน








