HOW TO: แก้ไขแอพลิเคชันประสิทธิภาพการทำงานกับ SQL Server

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

เนื้อหาบนหน้านี้

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการแก้ปัญหา SQL ปัญหาประสิทธิภาพการทำงานของเซิร์ฟเวอร์ ปัญหาประสิทธิภาพการแก้ไขปัญหาเกี่ยวข้องกับการใช้ชุดของขั้นตอนในการแยก และระบุสาเหตุของข้อความล่าช้าของแอพลิเคชัน สาเหตุที่น่าจะประกอบด้วย:
  • การบล็อก
  • contention ทรัพยากรของระบบ
  • ปัญหาการออกแบบแอพพลิเคชัน
  • ชุดเฉพาะของแบบสอบถามหรือกระบวนงานที่เก็บไว้กับการดำเนินการเวลาที่ยาว
บทความนี้อธิบายวิธีการตรวจสอบแหล่งที่มาของปัญหาประสิทธิภาพการทำงานกับ นอกจากนี้ยังอ้างอิงบทความอื่น ๆ ในฐานความรู้ของ Microsoft ที่ครอบคลุมรายละเอียดของปัญหาประสิทธิภาพการทำงานเฉพาะสำหรับการแก้ไขปัญหาเพิ่มเติม

Profiler sql


Profiler sql เป็นเครื่องมือที่มีประสิทธิภาพเมื่อของ SQL Server 7.0 หรือใหม่กว่า application ประสิทธิภาพในการแก้ไขปัญหา Profiler sql ช่วยให้คุณได้อย่างง่ายดายจับภาพเหตุการณ์ทั้งหมดที่เกิดขึ้นบนเซิร์ฟเวอร์ภายใต้การโหลดโดยทั่วไป และจะแสดงข้อมูลเกี่ยวกับการเหล่านั้น ใช้ Profiler SQL ร่วมกับการตรวจสอบประสิทธิภาพการทำงานของ Windows NT Microsoft และการสอบถามบางอย่างง่ายเพื่อระบุว่าบล็อกเกิดจะให้ข้อมูลที่คุณต้องมีเพื่อแก้ไขส่วนใหญ่มักปัญหาประสิทธิภาพการทำงาน

สิ่งที่ต้องการตรวจสอบ

1. ตั้ง Profiler SQL เพื่อจับภาพการสืบค้นกลับ โดยให้ทำตามขั้นตอนต่อไปนี้:
  1. เปิด Profiler SQL
  2. ในการเครื่องมือเมนู คลิกตัวเลือก.
  3. ตรวจสอบให้แน่ใจว่าการระดับชั้นเหตุการณ์ทั้งหมดและคอลัมน์ข้อมูลทั้งหมดมีเลือกตัวเลือก
  4. คลิกตกลง.
  5. สร้างการสืบค้นกลับใหม่
  6. ในการแฟ้ม:เมนู ให้ชี้ไปที่ใหม่แล้ว คลิกTrace.
  7. ในการทั่วไปแท็บ ระบุชื่อสืบค้นกลับและแฟ้มที่จะจับข้อมูลไปยัง
  8. ในการเหตุการณ์แท็บ เพิ่มชนิดเหตุการณ์ต่อไปนี้ในการสืบค้นกลับของคุณ:

    ยุบตารางนี้ขยายตารางนี้
    หัวเรื่องเหตุการณ์การเพิ่มคำอธิบาย:
    เคอร์เซอร์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) เสร็จสมบูรณ์แล้ว
  9. ถ้าโปรแกรมประยุกต์ของคุณจะได้รับข้อผิดพลาดการหมดเวลา หยุดการตอบสนอง (แฮง), หรือประสบเหตุการณ์อื่น ๆ ที่ทำให้เกิดการรายงานปัญหาเพื่อไม่ให้เสร็จสมบูรณ์ ยังรวมเหตุการณ์ต่าง ๆ ต่อไปนี้:

    ยุบตารางนี้ขยายตารางนี้
    tsql:SQL:BatchStartingเหตุการณ์นี้บ่งชี้เริ่มต้นของชุดงาน Transact SQL กระบวนการข้อความคอลัมน์แสดงคำสั่งที่กำลังดำเนินการ
    tsql:SQL:StmtStartingเหตุการณ์นี้บ่งชี้การเริ่มต้นของคำชี้แจงสิทธิ์ Transact SQL กระบวนการข้อความคอลัมน์แสดงคำสั่งที่กำลังดำเนินการ
    tsql:RPC: เริ่มต้นเหตุการณ์นี้บ่งชี้เริ่มต้นของการเรียกขั้นตอนระยะไกล (RPC)
    กระบวนงานที่เก็บไว้SP: StmtStartingเหตุการณ์นี้บ่งชี้เมื่อคำชี้แจงสิทธิ์ในกระบวนงานที่เก็บไว้เป็นเริ่มต้นการดำเนินการ


    ซึ่งจะช่วยให้คุณตรวจสอบให้แน่ใจว่า คุณสามารถเห็นคำสั่งที่มีการดำเนินการเมื่อเกิดการหมดเวลา
  10. ในการคอลัมน์ข้อมูลแท็บ ตรวจสอบให้แน่ใจว่า คอลัมน์ต่อไปนี้ที่มีอยู่:

    สำหรับ 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. โดยให้ทำตามขั้นตอนต่อไปนี้:
  1. Start Windows NT Performance Monitor.
  2. ในการมุมมองเมนู คลิกแฟ้มบันทึก.
  3. ในการตัวเลือกเมนู คลิกแฟ้มบันทึก.
  4. Specify a file name and location to log the performance counters. You can adjust the update interval as appropriate.
  5. ในการแก้ไขเมนู คลิกAdd To Log.
  6. Add all objects. Both the Windows NT and the SQL Server objects.
  7. To start the log, on theตัวเลือกเมนู คลิกแฟ้มบันทึกแล้ว คลิกการเริ่มการทำงานของแฟ้มบันทึกปุ่ม

For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
150934วิธีการสร้างแฟ้มบันทึกการตรวจสอบประสิทธิภาพสำหรับการแก้ไขปัญหาเบื้องต้น NT

3. Check for blocking.

To see if blocking is occurring, run thesp_whosystem stored procedure:
exec sp_who
This output will contain ablkคอลัมน์ ตรวจสอบการแสดงผลสำหรับรายการที่ไม่ใช่ศูนย์ใด ๆ ที่บ่งชี้ว่า บล็อกเกิด ทำตามขั้นตอนนี้อย่างสม่ำเสมอตลอดกรอบเวลาเมื่อเกิดความล่าช้าของประสิทธิภาพการทำงาน

หมายเหตุ:ทำงานนี้sp_whoกระบวนงานที่เก็บไว้เป็นเครื่องหมายถูกเพื่อดูว่ามีการบล็อกของระบบที่มีอยู่ทั้งหมด โดยทั่วไป ไม่เพียงพอให้ข้อมูลแก้ไขปัญหาการบล็อคทั้งหมดสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
251004INF: วิธีการที่ติดตามการบล็อก SQL Server 7.0

เรียกใช้แอพพลิเคชันระหว่างการโหลดปกติ

ideally ได้ดีที่สุดในการจับภาพ Profiler SQL ตรวจ สอบประสิทธิภาพ และผลผลิตการบล็อคในระหว่างการกรอบเวลาเดียวกัน กรอบเวลานี้ต้อง encompass ครั้งเมื่อประสิทธิภาพการทำงานของแอพลิเคชันไปจากการที่ดีจะไม่ถูกต้อง ชุดของข้อมูลนี้จะช่วยให้คุณสามารถดูรูปภาพ clearer ที่เกิดความล่าช้าของประสิทธิภาพการทำงาน


แปลผลลัพธ์นั้น

  1. การตรวจสอบบล็อก

    ถ้าการblkคอลัมน์นี้sp_whoผลลัพธ์ไม่ใช่ศูนย์ นี้บ่งชี้ว่า บล็อกจะเกิดขึ้นในระบบของคุณ กระบวนการที่จะบล็อกอื่น กระบวนการที่จะถูกบล็อกไม่สามารถพบเวลาดำเนินการที่ยาวขึ้นสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    224453INF: การศึกษา และการคลี่คลาย SQL Server 7.0 หรือ 2000 การบล็อคปัญหา
  2. ตรวจสอบผลลัพธ์ 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:
    243586INF: แก้ไขปัญหาเบื้องต้น Recompilation กระบวนงานที่เก็บไว้


    ความสนใจ

    สัญญาณแอความสนใจบ่งชี้ว่า แบบสอบถามถูกยกเลิก โดยไคลเอนต์ ซึ่งอยู่โดยทั่วไปเนื่องจากสาเหตุสองอย่างใดอย่างหนึ่ง:

    ผู้ใช้ได้ยกเลิกแบบสอบถาม หรือสิ้นสุดลงแอพลิเคชัน

    หรือ

    เกินการหมดเวลาการสอบถาม

    ถ้าคุณเห็นสัญญาณความสนใจ ซึ่งอาจบ่งชี้ว่า บางแบบสอบถามรันได้ช้าลง

    สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    243589HOW 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 ofexec จัดเตรียม SQLevents should be much larger than the number ofจัดเตรียม SQLevents. If the number ofจัดเตรียม SQLevents is roughly equivalent to the number ofexec จัดเตรียม 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 ofExec 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:
    243588HOW 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:
    243589HOW TO: Troubleshoot Slow-Running Queries on SQL Server 7.0 or Later

    When you view theMissing Column Statisticsเหตุการณ์ โฟกัสครั้งแรกในที่ที่เกิดขึ้นในการเชื่อมโยงกับแบบสอบถามที่รันเป็นเวลานาน เหตุการณ์บางอย่างอาจมีสร้าง และแก้ไขได้โดยอัตโนมัติ โดย SQL Server ด้วย autostats และอาจไม่ต้องการการขัดจังหวะโดยผู้ใช้ ดังนั้น กลยุทธ์ที่ดีที่สุดคือการโฟกัสแรกบนแบบสอบถามที่มีระยะเวลาที่ยาว ดังที่แสดงในบทนี้ความ และบันทึกย่อในภายหลังถ้ามีเกี่ยวข้องขาดหายไปสถิติคอลัมน์เหตุการณ์

    ถ้าคุณจะไม่เห็นอินสแตนซ์ของคลาสของเหตุการณ์เหล่านี้ ขั้นตอนต่อไปคือการ ตรวจสอบที่เวลาจะถูกใช้ใน

    การจัดกลุ่มผลลัพธ์ของการสืบค้นกลับตามช่วงเวลา:

    ก.คงแฟ้ม:เมนู คลิกคุณสมบัติ.

    ในการข้อมูลคอลัมน์แท็บ ใช้ปุ่มขึ้นเพื่อที่ย้ายระยะเวลาภายใต้การกลุ่มหัวข้อ และปุ่มลงเพื่อเอาคอลัมน์อื่น ๆ ทั้งหมดภายใต้การกลุ่มส่วนหัว

    c. คงเหตุการณ์แท็บ เอากลุ่มทั้งหมดยกเว้นtsqlและกระบวนงานที่เก็บไว้.

    d. คลิกตกลง.

    โดยการจัดกลุ่มในระยะเวลา คุณสามารถได้อย่างง่ายดายดูสิ่ง SQL งบ ชุดงาน หรือวิธีการที่กำลังทำงานที่ slowest มีความสำคัญอย่างยิ่งเมื่อต้อง การค้นหาไม่เท่านั้นในเวลาเมื่อเกิดปัญหา แต่ยัง การเรียกใช้เป็นพื้นฐานของเมื่อประสิทธิภาพการทำงานได้ดีเพื่อเปรียบเทียบกับยอด คุณสามารถกรองข้อมูลในเวลาเริ่มต้นการตัดการสืบค้นกลับการขึ้นลงในส่วนเมื่อประสิทธิภาพการทำงานได้ดี และส่วนที่แยกต่างหากสำหรับเมื่อประสิทธิภาพการทำงานได้ไม่ดี ค้นหาการสอบถามกับระยะเวลายาวนานที่สุดเมื่อประสิทธิภาพไม่ดี สิ่งเหล่านี้จะเป็นไปได้มากที่สุดรากของปัญหา ถ้ามีลดประสิทธิภาพของระบบโดยรวม แบบสอบถามที่ดียิ่งสามารถแสดงช่วงเวลาที่ยาวขณะที่กำลังรอทรัพยากรระบบ

    ถ้าคุณเห็นตัวเลขขนาดเล็กของแบบสอบถามที่มีช่วงเวลาสูง ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
    243589HOW TO: การแก้ไขช้าใช้แบบสอบถามบน SQL Server 7.0 หรือปลาย
    ถ้าคุณเห็นว่า ระยะเวลาของการสอบถามแต่ละอยู่ในระดับต่ำ แต่มีหลายเหล่านั้น และsql Compilations/วินาทีตัวนับในผลลัพธ์การตรวจสอบประสิทธิภาพ (ซึ่งอธิบายในภายหลัง) มีความละเอียดสูง ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
    243588HOW TO: การแก้ไขประสิทธิภาพการทำงานของแบบสอบถามเฉพาะกิจ
    ตรวจสอบคอลัมน์ข้อมูลที่เหลือ:

    insight เพิ่มเติมเข้าไปในลักษณะของปัญหาประสิทธิภาพการทำงานสามารถเป็นได้รับ โดยการดูคอลัมน์ข้อมูลอื่นในข้อมูลการสืบค้นกลับ นี่คือบางสิ่งที่ควรพิจารณา:

    ถ้าการใช้งาน CPU สูง กลุ่ม โดย CPU เมื่อต้องการดูการสอบถามใดมีผู้ใช้ทุกเวลา CPU ค้นหานี้ข้อความคอลัมน์สำหรับ "แฮ" หรือ "ผสาน" เพื่อค้นหาว่าแผนการดำเนินการแบบสอบถามโดยใช้ชนิดต่าง ๆ เหล่านี้เข้าร่วม พวกเขาจะ CPU และหน่วยความจำ intensive เข้าร่วม การวนซ้ำซ้อนกันซึ่งโดยทั่วไป IO intensive ที่ไม่ใช่

    ถ้าดิสก์ IO bottleneck กลุ่ม โดยการอ่านและเขียนข้อมูล มุมมองนี้ชื่อโปรแกรมประยุกต์,ชื่อผู้ใช้ NTและชื่อผู้ใช้ของ sqlเขตข้อมูลเพื่อช่วยในการแยกแหล่งที่มาของแบบสอบถามที่รันเป็นเวลานาน

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

    กระบวนการID การเชื่อมต่อฟิลด์จะเป็นประโยชน์เพื่อให้แน่ใจว่า คุณกำลังดูที่เซสชันเดียวกันสำหรับไคลเอ็นต์เฉพาะ SPID ไม่สามารถรับประกัน ซึ่งเป็นผู้ใช้อาจมีการเชื่อมต่อ และเชื่อมต่อผู้ใช้ใหม่ และ SPID ที่เหมือนกันที่ได้รับ

    ประโยชน์ได้มาจากฟิลด์เหล่านี้อาจแตกต่างกันไปขึ้นอยู่กับสถานการณ์ แต่ดังกล่าวควรจะ examined ถ้าเขตข้อมูลเห็นได้ชัดเจนก่อนหน้าในบทความนี้ไม่มีคำตอบ
  3. ตรวจสอบผลลัพธ์การตรวจสอบประสิทธิภาพการทำงาน

    การตรวจสอบประสิทธิภาพการทำงานจะแสดงคุณ 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
Keywords: 
kbproductlink kbhowtomaster kbhowto kbinfo kbmt KB224587 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:224587

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

 

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