บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการแก้ปัญหา SQL ปัญหาประสิทธิภาพการทำงานของเซิร์ฟเวอร์ ปัญหาประสิทธิภาพการแก้ไขปัญหาเกี่ยวข้องกับการใช้ชุดของขั้นตอนในการแยก และระบุสาเหตุของข้อความล่าช้าของแอพลิเคชัน สาเหตุที่น่าจะประกอบด้วย:
- การบล็อก
- contention ทรัพยากรของระบบ
- ปัญหาการออกแบบแอพพลิเคชัน
- ชุดเฉพาะของแบบสอบถามหรือกระบวนงานที่เก็บไว้กับการดำเนินการเวลาที่ยาว
บทความนี้อธิบายวิธีการตรวจสอบแหล่งที่มาของปัญหาประสิทธิภาพการทำงานกับ นอกจากนี้ยังอ้างอิงบทความอื่น ๆ ในฐานความรู้ของ Microsoft ที่ครอบคลุมรายละเอียดของปัญหาประสิทธิภาพการทำงานเฉพาะสำหรับการแก้ไขปัญหาเพิ่มเติม
Profiler sql
Profiler sql เป็นเครื่องมือที่มีประสิทธิภาพเมื่อของ SQL Server 7.0 หรือใหม่กว่า application ประสิทธิภาพในการแก้ไขปัญหา Profiler sql ช่วยให้คุณได้อย่างง่ายดายจับภาพเหตุการณ์ทั้งหมดที่เกิดขึ้นบนเซิร์ฟเวอร์ภายใต้การโหลดโดยทั่วไป และจะแสดงข้อมูลเกี่ยวกับการเหล่านั้น ใช้ Profiler SQL ร่วมกับการตรวจสอบประสิทธิภาพการทำงานของ Windows NT Microsoft และการสอบถามบางอย่างง่ายเพื่อระบุว่าบล็อกเกิดจะให้ข้อมูลที่คุณต้องมีเพื่อแก้ไขส่วนใหญ่มักปัญหาประสิทธิภาพการทำงาน
สิ่งที่ต้องการตรวจสอบ
1. ตั้ง Profiler SQL เพื่อจับภาพการสืบค้นกลับ โดยให้ทำตามขั้นตอนต่อไปนี้:
- เปิด Profiler SQL
- ในการเครื่องมือเมนู คลิกตัวเลือก.
- ตรวจสอบให้แน่ใจว่าการระดับชั้นเหตุการณ์ทั้งหมดและคอลัมน์ข้อมูลทั้งหมดมีเลือกตัวเลือก
- คลิกตกลง.
- สร้างการสืบค้นกลับใหม่
- ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกTrace.
- ในการทั่วไปแท็บ ระบุชื่อสืบค้นกลับและแฟ้มที่จะจับข้อมูลไปยัง
- ในการเหตุการณ์แท็บ เพิ่มชนิดเหตุการณ์ต่อไปนี้ในการสืบค้นกลับของคุณ:
ยุบตารางนี้ขยายตารางนี้
| หัวเรื่อง | เหตุการณ์การเพิ่ม | คำอธิบาย: |
|---|
| เคอร์เซอร์ | CursorPrepare | เหตุการณ์นี้บ่งชี้ว่า เคอร์เซอร์บนคำสั่ง SQL ที่ได้ถูกจัดทำขึ้น โดยใช้ ODBC, OLEDB หรือฐานข้อมูลไลบรารี |
| ข้อผิดพลาดและคำเตือน | ไม่พบคอลัมน์สถิติ | เหตุการณ์นี้บ่งชี้สถิติของคอลัมน์ที่อาจได้รับประโยชน์สำหรับการ Optimizer ที่ไม่พร้อมใช้งาน กระบวนการข้อความคอลัมน์แสดงรายการของคอลัมน์ที่มีสถิติที่ขาดหายไป เหตุการณ์นี้ ร่วมกับคำเบ็ดเตล็ด: อัตโนมัติ-UpdateStatsเหตุการณ์ บ่งชี้ว่า การสถิติเกี่ยวกับสร้างโดยอัตโนมัติตัวเลือกทริกเกอร์ |
| เบ็ดเตล็ด | ความสนใจ | เหตุการณ์นี้บ่งชี้ว่า สัญญาณความสนใจที่ถูกส่ง โดยไคลเอนต์ |
| เบ็ดเตล็ด | UpdateStats อัตโนมัติ | เหตุการณ์นี้บ่งชี้ว่า การอัตโนมัติการปรับปรุงสถิติตัวเลือกทริกเกอร์ |
| เบ็ดเตล็ด | exec จัดเตรียม SQL | เหตุการณ์นี้บ่งชี้ว่า ODBC, OLE DB หรือฐานข้อมูลไลบรารีดำเนินคำสั่งของ Transact SQL ก่อนหน้านี้พร้อม หรือคำสั่ง |
| เบ็ดเตล็ด | แผนการดำเนินการ | เหตุการณ์นี้แสดงแผนภูมิแผนงบ Transact-SQL ที่ถูกดำเนินการ |
| เบ็ดเตล็ด | จัดเตรียม SQL | เหตุการณ์นี้บ่งชี้ว่า โปรแกรมประยุกต์ ODBC, OLE DB หรือไลบรา รี DB จัดเตรียม Transact SQL งบ หรือใบแจ้งยอด สำหรับการใช้งาน |
| เบ็ดเตล็ด | unprepare SQL | เหตุการณ์นี้บ่งชี้ว่า มี ODBC, OLE DB หรือไลบรา รีฐานข้อมูลโปรแกรมประยุกต์ unprepared Transact SQL งบ หรือใบแจ้งยอด สำหรับการใช้งาน |
| เซสชัน | เชื่อมต่อ | เหตุการณ์นี้บ่งชี้ว่า มีการทำการเชื่อมต่อใหม่ |
| เซสชัน | ตัดการเชื่อมต่อ | เหตุการณ์นี้บ่งชี้ว่า มีการเชื่อมต่อไคลเอนต์ |
| เซสชัน | การเชื่อมต่อที่มีอยู่ | เหตุการณ์นี้บ่งชี้ว่า การเชื่อมต่ออยู่เมื่อมีการเริ่มต้นการสืบค้นกลับ Profiler SQL |
| กระบวนงานที่เก็บไว้ | SP: เสร็จสมบูรณ์แล้ว | เหตุการณ์นี้บ่งชี้เมื่อกระบวนงานที่เก็บไว้ได้เสร็จสิ้นการดำเนินการ |
| กระบวนงานที่เก็บไว้ | SP: Recompile | เหตุการณ์นี้บ่งชี้ว่า มี recompiled กระบวนงานที่เก็บไว้ในระหว่างการดำเนินการ |
| กระบวนงานที่เก็บไว้ | SP: เริ่มต้น | เหตุการณ์นี้บ่งชี้เมื่อกระบวนงานที่เก็บไว้ได้เริ่มต้นการดำเนินการ |
| กระบวนงานที่เก็บไว้ | SP: StmtCompleted | เหตุการณ์นี้บ่งชี้เมื่อการรายงานในกระบวนงานที่เก็บไว้เสร็จสมบูรณ์ดำเนินการ |
| tsql: | SQL:BatchCompleted | เหตุการณ์นี้บ่งชี้ว่า ชุดงาน Transact SQL เสร็จสมบูรณ์แล้ว กระบวนการข้อความคอลัมน์แสดงคำชี้แจงสิทธิ์ที่ถูกดำเนินการ |
| tsql: | SQL:StmtCompleted | เหตุการณ์นี้บ่งชี้ว่า คำสั่ง Transact SQL ที่เสร็จสมบูรณ์ กระบวนการข้อความคอลัมน์แสดงคำชี้แจงสิทธิ์ที่ถูกดำเนินการ |
| tsql: | RPC: เสร็จสมบูรณ์แล้ว | เหตุการณ์นี้บ่งชี้ว่า การเรียกขั้นตอนระยะไกล (RPC) เสร็จสมบูรณ์แล้ว |
- ถ้าโปรแกรมประยุกต์ของคุณจะได้รับข้อผิดพลาดการหมดเวลา หยุดการตอบสนอง (แฮง), หรือประสบเหตุการณ์อื่น ๆ ที่ทำให้เกิดการรายงานปัญหาเพื่อไม่ให้เสร็จสมบูรณ์ ยังรวมเหตุการณ์ต่าง ๆ ต่อไปนี้:
ยุบตารางนี้ขยายตารางนี้
| tsql: | SQL:BatchStarting | เหตุการณ์นี้บ่งชี้เริ่มต้นของชุดงาน Transact SQL กระบวนการข้อความคอลัมน์แสดงคำสั่งที่กำลังดำเนินการ |
| tsql: | SQL:StmtStarting | เหตุการณ์นี้บ่งชี้การเริ่มต้นของคำชี้แจงสิทธิ์ Transact SQL กระบวนการข้อความคอลัมน์แสดงคำสั่งที่กำลังดำเนินการ |
| tsql: | RPC: เริ่มต้น | เหตุการณ์นี้บ่งชี้เริ่มต้นของการเรียกขั้นตอนระยะไกล (RPC) |
| กระบวนงานที่เก็บไว้ | SP: StmtStarting | เหตุการณ์นี้บ่งชี้เมื่อคำชี้แจงสิทธิ์ในกระบวนงานที่เก็บไว้เป็นเริ่มต้นการดำเนินการ |
ซึ่งจะช่วยให้คุณตรวจสอบให้แน่ใจว่า คุณสามารถเห็นคำสั่งที่มีการดำเนินการเมื่อเกิดการหมดเวลา - ในการคอลัมน์ข้อมูลแท็บ ตรวจสอบให้แน่ใจว่า คอลัมน์ต่อไปนี้ที่มีอยู่:
สำหรับ SQL Server 2000
เวลาการเริ่มต้น
เวลาสิ้นสุด
LoginSid
spid
คลาสของเหตุการณ์
TextData
IntegerData
BinaryData
ระยะเวลา
CPU
อ่าน
เขียน
ชื่อโปรแกรมประยุกต์
ผู้ใช้ NT ชื่อ
DBUserName
สำหรับ SQL Server 7.0
เวลาการเริ่มต้น
เวลาสิ้นสุด
เชื่อมต่อ ID
spid
คลาสของเหตุการณ์
ข้อความ
จำนวนเต็มข้อมูล
ข้อมูลไบนารี
ระยะเวลา
CPU
อ่าน
เขียน
ชื่อโปรแกรมประยุกต์
ผู้ใช้ NT ชื่อ
ชื่อผู้ใช้ของ sql
ดูข้อมูลเกี่ยวกับการใช้ SQL Profiler, SQL Server 7.0 และ SQL Server 2000 หนังสือออนไลน์
2. Use Performance Monitor to capture Windows NT and SQL
Server counters. โดยให้ทำตามขั้นตอนต่อไปนี้:
- Start Windows NT Performance Monitor.
- ในการมุมมองเมนู คลิกแฟ้มบันทึก.
- ในการตัวเลือกเมนู คลิกแฟ้มบันทึก.
- Specify a file name and location to log the performance
counters. You can adjust the update interval as appropriate.
- ในการแก้ไขเมนู คลิกAdd To
Log.
- Add all objects. Both the Windows NT and the SQL Server
objects.
- To start the log, on theตัวเลือกเมนู คลิกแฟ้มบันทึกแล้ว คลิกการเริ่มการทำงานของแฟ้มบันทึกปุ่ม
For
additional information, click the following article number to view the article
in the Microsoft Knowledge Base:
150934
(http://support.microsoft.com/kb/150934/EN-US/
)
วิธีการสร้างแฟ้มบันทึกการตรวจสอบประสิทธิภาพสำหรับการแก้ไขปัญหาเบื้องต้น NT
3. Check for blocking.
To see if
blocking is occurring, run the
sp_whosystem stored procedure:
This output will contain a
blkคอลัมน์ ตรวจสอบการแสดงผลสำหรับรายการที่ไม่ใช่ศูนย์ใด ๆ ที่บ่งชี้ว่า บล็อกเกิด ทำตามขั้นตอนนี้อย่างสม่ำเสมอตลอดกรอบเวลาเมื่อเกิดความล่าช้าของประสิทธิภาพการทำงาน
หมายเหตุ:ทำงานนี้
sp_whoกระบวนงานที่เก็บไว้เป็นเครื่องหมายถูกเพื่อดูว่ามีการบล็อกของระบบที่มีอยู่ทั้งหมด
โดยทั่วไป ไม่เพียงพอให้ข้อมูลแก้ไขปัญหาการบล็อคทั้งหมดสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
251004
(http://support.microsoft.com/kb/251004/EN-US/
)
INF: วิธีการที่ติดตามการบล็อก SQL Server 7.0
เรียกใช้แอพพลิเคชันระหว่างการโหลดปกติ
ideally ได้ดีที่สุดในการจับภาพ Profiler SQL ตรวจ สอบประสิทธิภาพ และผลผลิตการบล็อคในระหว่างการกรอบเวลาเดียวกัน กรอบเวลานี้ต้อง encompass ครั้งเมื่อประสิทธิภาพการทำงานของแอพลิเคชันไปจากการที่ดีจะไม่ถูกต้อง ชุดของข้อมูลนี้จะช่วยให้คุณสามารถดูรูปภาพ clearer ที่เกิดความล่าช้าของประสิทธิภาพการทำงาน
แปลผลลัพธ์นั้น
- การตรวจสอบบล็อก
ถ้าการblkคอลัมน์นี้sp_whoผลลัพธ์ไม่ใช่ศูนย์ นี้บ่งชี้ว่า บล็อกจะเกิดขึ้นในระบบของคุณ กระบวนการที่จะบล็อกอื่น กระบวนการที่จะถูกบล็อกไม่สามารถพบเวลาดำเนินการที่ยาวขึ้นสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::224453
(http://support.microsoft.com/kb/224453/EN-US/
)
INF: การศึกษา และการคลี่คลาย SQL Server 7.0 หรือ 2000 การบล็อคปัญหา
- ตรวจสอบผลลัพธ์ Profiler SQL
การดูข้อมูล Profiler SQL ได้อย่างมีประสิทธิภาพจะมีค่ามากในการแก้ไขปัญหาประสิทธิภาพการทำงาน สิ่งสำคัญที่สุดเพื่อให้สามารถไม่ว่า คุณไม่จำเป็นต้องดูทุกสิ่งทุกอย่างที่คุณจับภาพ มีงาน Profiler sql ให้ความสามารถที่จะช่วยให้คุณได้อย่างมีประสิทธิภาพดูข้อมูลที่มีการจับภาพ ในการคุณสมบัติแท็บ (คลิคุณสมบัติในการแฟ้ม:เมนู), Profiler SQL ให้คุณสามารถจำกัดข้อมูลจะแสดงขึ้น โดยการเอาคอลัมน์ข้อมูลหรือเหตุการณ์ การจัดกลุ่ม (การเรียงลำดับ) ด้วยคอลัมน์ข้อมูล การประยุกต์ใช้ตัวกรอง คุณสามารถค้นหาการสืบค้นกลับที่ทั้งหมดหรือเฉพาะคอลัมน์เฉพาะสำหรับค่าเฉพาะ (ในนั้นแก้ไขเมนู คลิกค้นหา). คุณยังสามารถบันทึกข้อมูล SQL Profiler ตาราง SQL Server (บนแฟ้ม:เมนู ให้ชี้ไปที่บันทึกเป็นคลิกตารางการสืบค้นกลับ), แล้ว รันการสอบถาม SQL จากนั้น
ระวังว่า คุณทำการกรองเท่านั้นในไฟล์การสืบค้นกลับที่บันทึกไว้ก่อนหน้านี้ ถ้าคุณทำขั้นตอนเหล่านี้ในการสืบค้นกลับที่ใช้งานอยู่ คุณเสี่ยงสูญเสียข้อมูลที่มีการจับภาพตั้งแต่เริ่มต้นการสืบค้นกลับ บันทึกการสืบค้นกลับที่ใช้งานอยู่ไปยังแฟ้ม หรือตารางแรก (บนแฟ้ม:เมนู คลิกบันทึกเป็น) แล้ว เปิดใหม่อีกครั้ง (ในนั้นแฟ้ม:เมนู คลิกOPEN) ก่อนที่คุณดำเนินต่อ เมื่อคุณทำงานกับไฟล์การสืบค้นกลับที่บันทึกไว้ การกรองได้อย่างถาวรลบข้อมูลที่กำลังถูกกรองออก การได้เพียงแค่ไม่แสดงไว้ คุณสามารถเพิ่ม และลบเหตุการณ์และคอลัมน์ข้อมูลตามที่จำเป็นสำหรับการช่วยการโฟกัสการค้นหา
ขั้นตอนแรกในการตรวจสอบแฟ้มการสืบค้นกลับ Profiler SQL สำหรับกรณีประสิทธิภาพการทำงานที่ถูกกำหนดที่ชนิดของเหตุการณ์ที่เกิดขึ้นบนเซิร์ฟเวอร์
กลุ่มการสืบค้นกลับ โดยคลาสของเหตุการณ์:
ก.คงแฟ้ม:เมนู คลิกคุณสมบัติ.
ข.คงข้อมูลคอลัมน์แท็บ ใช้ปุ่มขึ้นเพื่อที่ย้ายคลาสของเหตุการณ์ภายใต้การกลุ่มหัวข้อ และปุ่มลงเพื่อเอาคอลัมน์อื่น ๆ ทั้งหมดภายใต้การกลุ่มส่วนหัว
c. คลิกตกลง.
การจัดกลุ่มตามคอลัมน์คลาสของเหตุการณ์แสดงชนิดของเหตุการณ์เกิดขึ้นบน SQL Server และวิธีบ่อยครั้ง ค้นหาคอลัมน์นี้สำหรับเหตุการณ์ต่าง ๆ ต่อไปนี้:
sp:recompile
เหตุการณ์นี้บ่งชี้ว่า มี recompiled กระบวนงานที่เก็บไว้ในระหว่างการดำเนินการ เหตุการณ์ recompile หลายบ่งชี้ว่า SQL Server จะเสียทรัพยากรบนคอมไพล์แบบสอบถามแทนการปฏิบัติการแบบสอบถาม
สำหรับ informationabout เพิ่มเติม recompilations แก้ไขปัญหาเบื้องต้นของกระบวนงานที่เก็บไว้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
243586
(http://support.microsoft.com/kb/243586/EN-US/
)
INF: แก้ไขปัญหาเบื้องต้น Recompilation กระบวนงานที่เก็บไว้
ความสนใจ
สัญญาณแอความสนใจบ่งชี้ว่า แบบสอบถามถูกยกเลิก โดยไคลเอนต์ ซึ่งอยู่โดยทั่วไปเนื่องจากสาเหตุสองอย่างใดอย่างหนึ่ง:
ผู้ใช้ได้ยกเลิกแบบสอบถาม หรือสิ้นสุดลงแอพลิเคชัน
หรือ
เกินการหมดเวลาการสอบถาม
ถ้าคุณเห็นสัญญาณความสนใจ ซึ่งอาจบ่งชี้ว่า บางแบบสอบถามรันได้ช้าลง
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
243589
(http://support.microsoft.com/kb/243589/EN-US/
)
HOW TO: การแก้ไขช้าใช้แบบสอบถามบน SQL Server 7.0 หรือปลาย
เพื่อช่วยระบุแบบสอบถามที่รับสัญญาณความสนใจ แก้ไขการสืบค้นกลับเพื่อให้ไม่มีการจัดกลุ่มตามคอลัมน์ข้อมูลใด ๆ และกรองข้อมูลขั้นตอนการระบบ ID (SPID) ที่ได้รับดังกล่าว (บน
ตัวกรองแท็บ เซ็ต SPID =
x). กระบวนการ
SQL:StmtStarting,
SQL:BatchStartingหรือ
SP:StmtStartingเหตุการณ์ที่ทันที preceding สัญญาณความสนใจคือ แบบสอบถามที่ได้รับการหมดเวลา หรือยกเลิก คุณสามารถค้นหานี้
คลาสของเหตุการณ์คอลัมน์สำหรับเหตุการณ์ความสนใจไปอย่างง่ายดายค้นหา (ในนั้น
แก้ไขเมนู คลิก
ค้นหา).
เตรียม SQL และ EXEC จัดเตรียม SQL
กระบวนการ
จัดเตรียม SQLเหตุการณ์บ่งชี้ว่า โปรแกรมประยุกต์ ODBC, OLE DB หรือไลบรา รี DB จัดเตรียมการคำสั่ง Transact SQL หรือใบแจ้งยอด สำหรับการใช้ กระบวนการ
exec จัดเตรียม SQLเหตุการณ์บ่งชี้ว่า โปรแกรมประยุกต์ที่ทำงบการเรียกใช้คำสั่งเตรียมใช้จากที่มีอยู่
เปรียบเทียบจำนวนครั้งที่เหตุการณ์สองเหล่านี้เกิดขึ้น Ideally, an application must prepare a SQL statement
one time and run it several times. This saves the Optimizer the cost of
compiling a new plan each time the statement is executed. Therefore, the number
of
exec จัดเตรียม SQLevents should be much larger than the number of
จัดเตรียม SQLevents. If the number of
จัดเตรียม SQLevents is roughly equivalent to the number of
exec จัดเตรียม SQLevents, this may indicate that the application is not making good
use of the prepare/execute model. It is best not to prepare a statement that is
only going to be executed a single time. For more information about preparing
SQL statements, see the "Preparing SQL Statements" topic in SQL Server 7.0
Books Online.
If the number of
Exec Prepared
SQLevents is not three to five times greater than the number of
จัดเตรียม SQLevents, the application may not be making efficient use of the
prepare/execute model.For additional information, click the
following article number to view the article in the Microsoft Knowledge Base:
243588
(http://support.microsoft.com/kb/243588/EN-US/
)
HOW TO: Troubleshoot the Performance of Ad-Hoc Queries
In SQL Server 2000, the excessive roundtrips
per prepare/execute will be eliminated, so the 3-5 ratio is not as stringent.
However, it can still be a good rule, to try and reuse the prepared plan more
than one time.
Missing Column
Statistics
This event indicates that statistical information the
Optimizer could have used to generate a better query plan was unavailable. This
indicates that the query does not have useful indexes on at least one table
involved. Beyond not having a useful index, SQL Server does not even have
statistical data about the columns involved to make an informed decision for a
query plan. The outcome is that the query plan generated may not be the optimal
one. If you see these events, look at the query and the execution plan
generated, and then see the following article in the Microsoft Knowledge Base
for steps to take to improve the performance of this query:
243589
(http://support.microsoft.com/kb/243589/
)
HOW TO: Troubleshoot Slow-Running Queries on SQL Server 7.0 or Later
When you view the
Missing Column
Statisticsเหตุการณ์ โฟกัสครั้งแรกในที่ที่เกิดขึ้นในการเชื่อมโยงกับแบบสอบถามที่รันเป็นเวลานาน เหตุการณ์บางอย่างอาจมีสร้าง และแก้ไขได้โดยอัตโนมัติ โดย SQL Server ด้วย autostats และอาจไม่ต้องการการขัดจังหวะโดยผู้ใช้ ดังนั้น กลยุทธ์ที่ดีที่สุดคือการโฟกัสแรกบนแบบสอบถามที่มีระยะเวลาที่ยาว ดังที่แสดงในบทนี้ความ และบันทึกย่อในภายหลังถ้ามีเกี่ยวข้อง
ขาดหายไปสถิติคอลัมน์เหตุการณ์
ถ้าคุณจะไม่เห็นอินสแตนซ์ของคลาสของเหตุการณ์เหล่านี้ ขั้นตอนต่อไปคือการ ตรวจสอบที่เวลาจะถูกใช้ใน
การจัดกลุ่มผลลัพธ์ของการสืบค้นกลับตามช่วงเวลา:
ก.คงแฟ้ม:เมนู คลิกคุณสมบัติ.
ในการข้อมูลคอลัมน์แท็บ ใช้ปุ่มขึ้นเพื่อที่ย้ายระยะเวลาภายใต้การกลุ่มหัวข้อ และปุ่มลงเพื่อเอาคอลัมน์อื่น ๆ ทั้งหมดภายใต้การกลุ่มส่วนหัว
c. คงเหตุการณ์แท็บ เอากลุ่มทั้งหมดยกเว้นtsqlและกระบวนงานที่เก็บไว้.
d. คลิกตกลง.
โดยการจัดกลุ่มในระยะเวลา คุณสามารถได้อย่างง่ายดายดูสิ่ง SQL งบ ชุดงาน หรือวิธีการที่กำลังทำงานที่ slowest มีความสำคัญอย่างยิ่งเมื่อต้อง การค้นหาไม่เท่านั้นในเวลาเมื่อเกิดปัญหา แต่ยัง การเรียกใช้เป็นพื้นฐานของเมื่อประสิทธิภาพการทำงานได้ดีเพื่อเปรียบเทียบกับยอด คุณสามารถกรองข้อมูลในเวลาเริ่มต้นการตัดการสืบค้นกลับการขึ้นลงในส่วนเมื่อประสิทธิภาพการทำงานได้ดี และส่วนที่แยกต่างหากสำหรับเมื่อประสิทธิภาพการทำงานได้ไม่ดี ค้นหาการสอบถามกับระยะเวลายาวนานที่สุดเมื่อประสิทธิภาพไม่ดี สิ่งเหล่านี้จะเป็นไปได้มากที่สุดรากของปัญหา ถ้ามีลดประสิทธิภาพของระบบโดยรวม แบบสอบถามที่ดียิ่งสามารถแสดงช่วงเวลาที่ยาวขณะที่กำลังรอทรัพยากรระบบ
ถ้าคุณเห็นตัวเลขขนาดเล็กของแบบสอบถามที่มีช่วงเวลาสูง ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
243589
(http://support.microsoft.com/kb/243589/
)
HOW TO: การแก้ไขช้าใช้แบบสอบถามบน SQL Server 7.0 หรือปลาย
ถ้าคุณเห็นว่า ระยะเวลาของการสอบถามแต่ละอยู่ในระดับต่ำ แต่มีหลายเหล่านั้น และ
sql Compilations/วินาทีตัวนับในผลลัพธ์การตรวจสอบประสิทธิภาพ (ซึ่งอธิบายในภายหลัง) มีความละเอียดสูง ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
243588
(http://support.microsoft.com/kb/243588/
)
HOW TO: การแก้ไขประสิทธิภาพการทำงานของแบบสอบถามเฉพาะกิจ
ตรวจสอบคอลัมน์ข้อมูลที่เหลือ:
insight เพิ่มเติมเข้าไปในลักษณะของปัญหาประสิทธิภาพการทำงานสามารถเป็นได้รับ โดยการดูคอลัมน์ข้อมูลอื่นในข้อมูลการสืบค้นกลับ นี่คือบางสิ่งที่ควรพิจารณา:
ถ้าการใช้งาน CPU สูง กลุ่ม โดย CPU เมื่อต้องการดูการสอบถามใดมีผู้ใช้ทุกเวลา CPU ค้นหานี้ข้อความคอลัมน์สำหรับ "แฮ" หรือ "ผสาน" เพื่อค้นหาว่าแผนการดำเนินการแบบสอบถามโดยใช้ชนิดต่าง ๆ เหล่านี้เข้าร่วม พวกเขาจะ CPU และหน่วยความจำ intensive เข้าร่วม การวนซ้ำซ้อนกันซึ่งโดยทั่วไป IO intensive ที่ไม่ใช่
ถ้าดิสก์ IO bottleneck กลุ่ม โดยการอ่านและเขียนข้อมูล มุมมองนี้ชื่อโปรแกรมประยุกต์,ชื่อผู้ใช้ NTและชื่อผู้ใช้ของ sqlเขตข้อมูลเพื่อช่วยในการแยกแหล่งที่มาของแบบสอบถามที่รันเป็นเวลานาน
คอลัมน์ข้อมูลจำนวนเต็มของเหตุการณ์ข้อยกเว้นจะบ่งชี้ข้อผิดพลาดใด ๆ ที่ถูกส่งคืนกลับไปยังไคลเอนต์ คุณสามารถค้นหาข้อความแสดงข้อผิดพลาดได้ โดยการค้นหาในหมายเลขใน SQL Server 7.0 หนังสือออนไลน์
กระบวนการID การเชื่อมต่อฟิลด์จะเป็นประโยชน์เพื่อให้แน่ใจว่า คุณกำลังดูที่เซสชันเดียวกันสำหรับไคลเอ็นต์เฉพาะ SPID ไม่สามารถรับประกัน ซึ่งเป็นผู้ใช้อาจมีการเชื่อมต่อ และเชื่อมต่อผู้ใช้ใหม่ และ SPID ที่เหมือนกันที่ได้รับ
ประโยชน์ได้มาจากฟิลด์เหล่านี้อาจแตกต่างกันไปขึ้นอยู่กับสถานการณ์ แต่ดังกล่าวควรจะ examined ถ้าเขตข้อมูลเห็นได้ชัดเจนก่อนหน้าในบทความนี้ไม่มีคำตอบ
- ตรวจสอบผลลัพธ์การตรวจสอบประสิทธิภาพการทำงาน
การตรวจสอบประสิทธิภาพการทำงานจะแสดงคุณ bottlenecks ระบบโดยรวม อาจจะให้ SQL Server และโปรแกรมประยุกต์ที่กำลังดำเนินตามที่คาดไว้ แต่คอมพิวเตอร์ไม่ underpowered การขาดงานหน่วยความจำหรือทรัพยากรอื่น หรือบางตัวนับสามารถระบุว่า ปัญหาเกี่ยวกับวิธีการโปรแกรมประยุกต์และ SQL Server กำลังดำเนินการ อย่างน้อยสุด ตรวจสอบตัวนับต่อไปนี้:
- วัตถุ: กระบวนการ
ตัวนับ: ตัวประมวลผล
อินสแตนซ์: SQL Server
- วัตถุ: ตัวประมวลผล
%ของตัวนับ: ตัวประมวลผลเวลา
อินสแตนซ์: ตรวจสอบแต่ละอินสแตนซ์ของตัวประมวลผล
- วัตถุ: ดิสก์ที่มีอยู่จริง
คิวดิสก์โดยเฉลี่ยของตัวนับ: ความยาว
อินสแตนซ์: ตรวจสอบแต่ละอินสแตนซ์ของดิสก์ที่มีอยู่จริง
- วัตถุ: สถิติ: SQL เซิร์ฟเวอร์ SQL
ตัวนับ: SQL Compilations/วินาที
ค้นหาแนวโน้มแบบผ่านทางกรอบเวลาจากเมื่อประสิทธิภาพปหรือจากดีจะไม่ถูกต้อง: สิ่งที่เพิ่มก่อนหรือไม่ การผูกที่ CPU ของคอมพิวเตอร์ หรือดิสก์ IO ถูกผูกไว้หรือไม่ ข้อมูลนี้ พร้อมกับ Profiler ผลลัพธ์ก่อนหน้าในบทความนี้ จะช่วยให้คุณแคบลงขอบเขตของปัญหา ปัญหาของ CPU สูงอาจบ่งชี้ว่า หมายเลขที่มีขนาดใหญ่ของกระบวนงานที่เก็บไว้ recompilations, compilations แบบสอบถามเฉพาะกิจ หรือการใช้ตัวเชื่อมที่แฮและผสาน intensive บทความนี้อ้างถึงก่อนหน้าในบทความนี้ต้องเป็นตามการกำหนดหลักสูตรที่ถูกต้องของการดำเนินการ High disk queue lengths may indicate the need for more system memory or
an improved disk subsystem.
หมายเลขบทความ (Article ID): 224587 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 4.0
ใช้กับ
- Microsoft SQL Server 7.0 Standard Edition
| kbproductlink kbhowtomaster kbhowto kbinfo kbmt KB224587 KbMtth |
แปลโดยคอมพิวเตอร์ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:
224587
(http://support.microsoft.com/kb/224587/en-us/
)