เครื่องมือการตรวจสอบ SQL Server สามารถติดตามทุกอย่างตั้งแต่กิจกรรม CPU และดิสก์ของ Windows ไปจนถึงการบล็อก สถิติการรอ แผนการค้นหา และความพร้อมใช้งานของฐานข้อมูล ดังนั้นเครื่องมือที่เหมาะสมจึงขึ้นอยู่กับชั้นของ SQL Server ที่คุณต้องการสังเกตจริง ๆ มากกว่าขนาดของรายการฟีเจอร์ของมัน
คู่มือนี้อธิบายสิ่งที่ทีม IT ควรตรวจสอบ จุดที่การตรวจสอบเซิร์ฟเวอร์ Windows สิ้นสุดลงและการตรวจสอบเฉพาะ SQL เริ่มต้นขึ้น เครื่องมือ Microsoft ที่มีอยู่และวิธีการเลือกวิธีการตรวจสอบที่เหมาะสม
อะไรทำให้การตรวจสอบ SQL Server น่าทึ่ง?
การตรวจสอบเซิร์ฟเวอร์, พื้นฐาน:
Microsoft SQL Server ทำงานบนโครงสร้างพื้นฐานของเซิร์ฟเวอร์ ดังนั้น ประสิทธิภาพของระบบปฏิบัติการมีความสำคัญ การใช้ CPU สูง ความกดดันของหน่วยความจำ หรือการจัดเก็บข้อมูลที่ช้า สามารถส่งผลกระทบต่อ SQL Server ได้ แม้ว่าจะไม่มีปัญหาใด ๆ กับเครื่องยนต์ฐานข้อมูลก็ตาม
ความต้องการการตรวจสอบเฉพาะฐานข้อมูลสำหรับเซิร์ฟเวอร์ SQL:
อย่างไรก็ตาม การดูเมตริกของ Windows Server ที่ชัดเจนไม่ได้หมายความว่าประสิทธิภาพของ SQL Server จะดีเสมอไป ผู้ใช้สามารถประสบปัญหาการทำธุรกรรมช้าเนื่องจากการบล็อก แผนการดำเนินการที่ไม่ดี หรือการรอคิว ในขณะที่เครื่องที่อยู่เบื้องหลังยังคงดูเหมือนจะมีสุขภาพดี
วิธีที่ไมโครซอฟท์แบ่งสิ่งนี้:
ไมโครซอฟท์สะท้อนความแตกต่างนี้ในสถาปัตยกรรมการตรวจสอบของตนเอง เครื่องมือของวินโดวส์ เช่น Performance Monitor จะครอบคลุมทรัพยากรของระบบ ในขณะที่ SQL Server จะมีฟังก์ชันเฉพาะสำหรับฐานข้อมูล รวมถึง Query Store, Extended Events, Activity Monitor, บันทึกข้อผิดพลาด และความสามารถในการตรวจสอบ Transact-SQL
การตรวจสอบ SQL Server ควรครอบคลุมหลายชั้นที่เสริมซึ่งกันและกันแทนที่จะเป็นชุดของเมตริกเพียงชุดเดียว
เครื่องมือการตรวจสอบ SQL Server ควรติดตามอะไรบ้าง?
เมตริกที่แน่นอนที่จำเป็นขึ้นอยู่กับว่า ทีม IT มีความรับผิดชอบหลักในด้านความพร้อมใช้งานของโครงสร้างพื้นฐาน การบริหารจัดการฐานข้อมูล หรือประสิทธิภาพของแอปพลิเคชัน กลยุทธ์การตรวจสอบที่มีประโยชน์เริ่มต้นจากการมองในภาพรวมและเพิ่มการมองเห็น SQL Server ที่ลึกซึ้งขึ้นเมื่อมีความต้องการจากภาระงาน
1. สุขภาพเซิร์ฟเวอร์และโครงสร้างพื้นฐาน
เริ่มต้นด้วยทรัพยากรที่มีอยู่สำหรับโฮสต์ SQL Server CPU, หน่วยความจำทางกายภาพ, ความจุของดิสก์, กิจกรรมการอ่านและเขียนดิสก์, การใช้งานเครือข่าย และกระบวนการที่กำลังทำงานให้บริบทโครงสร้างพื้นฐานสำหรับประสิทธิภาพของฐานข้อมูล
จุดสำคัญคือความสัมพันธ์ เวลาตอบสนอง SQL ที่สูงซึ่งมีความล่าช้าของการจัดเก็บแสดงให้เห็นว่าควรมีการตรวจสอบที่แตกต่างจากการสอบถามที่ช้าในขณะที่โฮสต์มี CPU, หน่วยความจำ และความสามารถ I/O ที่เพียงพอ
การตรวจสอบโฮสต์ ยังช่วยตรวจจับปัญหาที่ส่งผลกระทบมากกว่า SQL Server เซิร์ฟเวอร์จริงหรือเสมือนอาจโฮสต์แอปพลิเคชัน บริการ หรือผู้ใช้ระยะไกลที่กิจกรรมแข่งขันกันเพื่อทรัพยากรเดียวกัน
2. สถานะของ SQL Server Instance และฐานข้อมูล
ชั้นถัดไปดูภายในเอนจินฐานข้อมูลเอง
พื้นที่สำคัญมักรวมถึงการรอคอย, เซสชันที่ใช้งาน, การบล็อก, การตายล็อก, การเติบโตของไฟล์ฐานข้อมูล, การใช้งานล็อกธุรกรรม และกิจกรรม TempDB ผู้ดูแลระบบอาจต้องเฝ้าดูสถานะฐานข้อมูล, การเชื่อมต่อ, พฤติกรรมหน่วยความจำ และบริการ SQL Server ด้วย
สถิติการรอมีประโยชน์โดยเฉพาะเพราะช่วยระบุว่างานใดใน SQL Server กำลังรออยู่ แทนที่จะเพียงแค่แสดงว่าระบบช้า การบล็อกและการล็อกตายให้ความชัดเจนเพิ่มเติมช่วยระบุว่าธุรกรรมเฉพาะใดแข่งขันกันเพื่อทรัพยากร
แพลตฟอร์มการตรวจสอบฐานข้อมูลเฉพาะทางจึงมีความลึกซึ้งมากกว่าตัวตรวจสอบโฮสต์ ตัวอย่างเช่น IDERA SQL Diagnostic Manager จะบันทึกการตรวจสอบสำหรับการรอคอย, โซ่การบล็อก, การล็อกตาย, ความกดดันของ TempDB, ความล่าช้าในการ I/O และการเติบโตของฐานข้อมูล
3. การสอบถามและประสิทธิภาพของงาน
เมื่อปัญหาได้รับการระบุในภาระงานของฐานข้อมูล เมตริกเซิร์ฟเวอร์รวมมักจะไม่เพียงพอ ผู้ดูแลระบบจำเป็นต้องกำหนดว่าคำสั่งใดใช้ทรัพยากรมากเกินไปและพฤติกรรมของพวกเขาได้เปลี่ยนแปลงไปหรือไม่
ข้อมูลที่เป็นประโยชน์ในระดับคำถามสามารถรวมถึงระยะเวลาการดำเนินการ การใช้ CPU การอ่านเชิงตรรกะและเชิงกายภาพ การใช้หน่วยความจำ ความถี่ในการดำเนินการ การรอ และแผนการดำเนินการ
Microsoft Query Store เป็นตัวอย่างที่ดีของซอฟต์แวร์ที่ปรับแต่งสำหรับเรื่องนี้ มันเก็บข้อมูลการสอบถาม แผน และสถิติการทำงานในระยะเวลาเพื่อให้ผู้ดูแลระบบสามารถตรวจสอบประสิทธิภาพตลอดเวลาและระบุการถดถอยที่เกี่ยวข้องกับการเปลี่ยนแปลงแผนการสอบถาม SQL Server 2017 และเวอร์ชันที่ใหม่กว่าสามารถบันทึกสถิติการรอผ่าน Query Store ได้
บริบททางประวัติศาสตร์นี้มีความสำคัญเพราะปัญหาหลายอย่างของ SQL Server เป็นปัญหาที่เกิดขึ้นเป็นระยะๆ การทราบว่า CPU ถึง 90% เมื่อบ่ายวานนี้เป็นข้อมูลที่มีประโยชน์ การทราบว่าคำสั่งใดเปลี่ยนพฤติกรรมในขณะเดียวกันจะช่วยระบุปัจจัยที่อาจใช้ในการดำเนินการ
4. ความพร้อมใช้งาน, งานและสุขภาพการดำเนินงาน
ประสิทธิภาพเป็นเพียงหนึ่งด้านของการตรวจสอบ SQL Server ความล้มเหลวในการดำเนินงานสามารถส่งผลกระทบต่อความพร้อมใช้งานและการกู้คืนแม้ว่าแสดงให้เห็นว่าประสิทธิภาพของภาระงานเป็นปกติ
ขึ้นอยู่กับสภาพแวดล้อม ผู้ดูแลระบบอาจต้องการการมองเห็นในงานของ SQL Server Agent, การสำรองข้อมูล, ความพร้อมใช้งานของฐานข้อมูล และ Always On Availability Groups. อสังหาริมทรัพย์ที่ใหญ่ขึ้นหรือมีความสำคัญต่อธุรกิจอาจต้องการการตรวจสอบการทำซ้ำ, การติดตามการกำหนดค่า และการคาดการณ์ความจุด้วยเช่นกัน.
ความลึกที่ต้องการต้องสอดคล้องกับความสำคัญของภาระงาน ฐานข้อมูลภายในขนาดเล็กหรือกลุ่มเซิร์ฟเวอร์ SQL ที่ผลิตต้องการสถาปัตยกรรมการตรวจสอบที่แตกต่างกันอย่างมาก
เครื่องมือการตรวจสอบ SQL Server ที่มีอยู่ในตัวคุณสามารถใช้ได้คืออะไร?
ก่อนที่จะซื้อแพลตฟอร์มเฉพาะ ควรทำความเข้าใจว่าอะไร Microsoft SQL Server ให้บริการแล้ว.
ชุดเครื่องมือพื้นฐานที่หลากหลาย:
- Activity Monitor รองรับการตรวจสอบตามความต้องการ
- Query Store เก็บข้อมูลประวัติของคำถามและแผน
- Extended Events บันทึกเหตุการณ์ของเอนจินที่เลือก
- มุมมองการจัดการแบบไดนามิกเปิดเผยข้อมูลประสิทธิภาพภายใน
- บันทึกข้อผิดพลาดของ SQL Server ช่วยในการตรวจสอบเหตุการณ์ของเครื่องยนต์ฐานข้อมูล
- Windows Performance Monitor เพิ่มข้อมูลทรัพยากรของระบบปฏิบัติการ
การวินิจฉัยที่ลึกซึ้งขึ้นแต่มีความซับซ้อนมากขึ้น:
เครื่องมือเหล่านี้สามารถให้ความลึกในการวินิจฉัยที่สำคัญ โดยเฉพาะสำหรับผู้ดูแลระบบฐานข้อมูลที่มีประสบการณ์ พวกเขายังหลีกเลี่ยงการแนะนำอีกหนึ่ง แพลตฟอร์มการตรวจสอบ เมื่อการแก้ไขปัญหาเป็นครั้งคราวเพียงพอแล้ว
ข้อจำกัดของพวกเขามักไม่ใช่การเข้าถึงข้อมูล แต่เป็นความสะดวกในการดำเนินงาน ทีม IT ที่จัดการเซิร์ฟเวอร์หลายเครื่องอาจต้องการแดชบอร์ดที่รวมศูนย์ ประวัติที่ต่อเนื่อง การแจ้งเตือนที่ง่ายขึ้น และการเชื่อมโยงที่รวดเร็วแทนที่จะต้องรวบรวมข้อมูลจากหลาย SQL Server และอินเทอร์เฟซ Windows
นั่นคือจุดที่การตรวจสอบจากบุคคลที่สามกลายเป็นสิ่งที่น่าสนใจมากขึ้น
วิธีเลือกเครื่องมือการตรวจสอบ SQL Server?
เริ่มต้นด้วยปัญหาที่เครื่องมือจะต้องแก้ไข นี่จะช่วยให้คุณไม่สูญเสียเป้าหมายในรายการตรวจสอบของจำนวนเมตริกที่รองรับมากที่สุด
1. ความลึกของการมองเห็นที่จำเป็น
คำถามแรกที่มีประโยชน์คือคุณต้องการการตรวจสอบโครงสร้างพื้นฐาน การวินิจฉัยฐานข้อมูล หรือการวิเคราะห์คำถามอย่างละเอียดหรือไม่
| ความต้องการ | วิธีการตรวจสอบ |
|---|---|
| CPU, หน่วยความจำ, ดิสก์ และความพร้อมใช้งานของเซิร์ฟเวอร์ | การตรวจสอบเซิร์ฟเวอร์หรือโครงสร้างพื้นฐาน |
| การแก้ไขปัญหา SQL Server เป็นครั้งคราว | เครื่องมือ Microsoft SQL Server ที่มีอยู่ในตัว |
| การบล็อก, การรอ, การล็อกตาย และการแจ้งเตือนฐานข้อมูล | การตรวจสอบ SQL Server ที่ทุ่มเท |
| แผนการค้นหาและการถดถอยของประสิทธิภาพ | การจัดเก็บคำถามหรือการตรวจสอบ SQL ขั้นสูง |
| อสังหาริมทรัพย์ SQL ขนาดใหญ่หลายตัว | การตรวจสอบฐานข้อมูลแบบรวมศูนย์ |
| SQL Server พร้อมการพึ่งพาแอปพลิเคชันที่กว้างขึ้น | การสังเกตการณ์โครงสร้างพื้นฐานหรือแบบเต็มสแต็กที่รวมกับการตรวจสอบเฉพาะ SQL |
หมวดหมู่เหล่านี้สามารถทับซ้อนกันได้ ในหลายสภาพแวดล้อม วิธีการที่เหมาะสมที่สุดคือการรวมกันแทนที่จะเป็นผลิตภัณฑ์เดียว
การจับคู่การแจ้งเตือนและประวัติการดำเนินงาน
การตรวจสอบจะมีประโยชน์มากที่สุดเมื่อมันเน้นพฤติกรรมที่ผิดปกติก่อนที่ผู้ใช้จะรายงานปัญหา
ดูว่าทางเครื่องมือสนับสนุนการแจ้งเตือนตามเกณฑ์ แนวโน้มในอดีต และบริบทเพียงพอในการตรวจสอบเหตุการณ์หลังจากนั้นหรือไม่ แพลตฟอร์ม SQL ที่เชี่ยวชาญอาจไปไกลกว่านั้นโดยการแนบโซ่การบล็อก แผนภาพการตาย หรือข้อมูลการค้นหาโดยตรงกับการแจ้งเตือน ตัวอย่างเช่น Redgate Monitor จะบันทึกการแจ้งเตือนเฉพาะ SQL สำหรับเหตุการณ์รวมถึงการตาย การทำงานที่ล้มเหลว การค้นหาที่ถูกบล็อก และการค้นหาที่ใช้เวลานาน
การตั้งค่ามาตรฐานก็มีความสำคัญเช่นกัน ค่าที่ไม่ปกติสำหรับฐานข้อมูลหนึ่งอาจเป็นเรื่องปกติสำหรับอีกฐานข้อมูลหนึ่ง ดังนั้นการแจ้งเตือนควรสะท้อนพฤติกรรมและความสำคัญทางธุรกิจของงานที่ทำแต่ละงาน
พิจารณาขนาด การปรับใช้ และการบริหารจัดการ
เครื่องมือที่เหมาะสมสำหรับ SQL Server instance เดียวอาจกลายเป็นเรื่องยุ่งยากเมื่อใช้กับเซิร์ฟเวอร์หลายสิบเครื่อง
พิจารณาจำนวนโฮสต์ อินสแตนซ์ และฐานข้อมูลที่ต้องการการตรวจสอบ วิธีการเก็บรวบรวมและเก็บรักษาข้อมูลการตรวจสอบ และความสะดวกในการเปรียบเทียบระบบจากคอนโซลกลางของผู้ดูแลระบบ ดังนั้นการประเมินใบอนุญาต ความพยายามในการติดตั้ง การสร้างรายงาน และการจัดการการแจ้งเตือนควรทำควบคู่ไปกับความลึกทางเทคนิค
เป้าหมายไม่ใช่การรวบรวมเมตริกทุกอย่างที่เป็นไปได้ แต่คือการรวบรวมข้อมูลที่เกี่ยวข้องมากที่สุดในปริมาณที่เพียงพอเพื่อระบุพฤติกรรมที่ผิดปกติและทำให้เส้นทางจากอาการไปยังสาเหตุสั้นลง เพื่อให้ช่างเทคนิคด้านไอทีของคุณสามารถแก้ไขปัญหาได้
TSplus Server Monitoring อยู่ที่ไหน?
TSplus Server Monitoring ดูแลด้านโครงสร้างพื้นฐานของโมเดลการตรวจสอบนี้ มันให้บริการ การมองเห็นแบบเรียลไทม์ เข้าสู่ CPU, หน่วยความจำ, กิจกรรมการอ่านและเขียนดิสก์, แบนด์วิดธ์, กระบวนการและผู้ใช้ที่เชื่อมต่อ พร้อมกับรายงานประวัติและการแจ้งเตือนที่สามารถกำหนดค่าได้สำหรับเมตริกเซิร์ฟเวอร์
สำหรับเซิร์ฟเวอร์ Windows ที่รัน Microsoft SQL Server การมองเห็นนี้จะช่วยในการกำหนดว่าปัญหาประสิทธิภาพของฐานข้อมูลเกิดขึ้นพร้อมกับแรงกดดันจาก CPU การใช้หน่วยความจำ กิจกรรมดิสก์ หรือเงื่อนไขระดับโฮสต์อื่น ๆ หรือไม่ การรายงานประวัติยังให้บริบทสำหรับปัญหาโครงสร้างพื้นฐานที่เกิดขึ้นซ้ำ ๆ
TSplus Server Monitoring ไม่ใช่เครื่องมือวิเคราะห์ประสิทธิภาพฐานข้อมูล SQL Server ที่เฉพาะเจาะจง ความต้องการเฉพาะทาง SQL เช่น การวิเคราะห์แผนการดำเนินการ การตรวจสอบ Query Store การตรวจสอบการบล็อก การวิเคราะห์การตายล็อก หรือสถิติการรออย่างละเอียดต้องการเครื่องมือ SQL Server ของ Microsoft หรือผลิตภัณฑ์การตรวจสอบฐานข้อมูลเฉพาะทาง
สำหรับทีม IT หลายทีม ชั้นเหล่านี้ช่วยเสริมซึ่งกันและกัน TSplus การตรวจสอบเซิร์ฟเวอร์ สามารถให้มุมมองที่ชัดเจนเกี่ยวกับสุขภาพของเซิร์ฟเวอร์และการใช้ทรัพยากร ในขณะที่เครื่องมือพื้นฐานของ SQL Server จะให้การมองเห็นฐานข้อมูลที่ลึกซึ้งยิ่งขึ้นและช่วยระบุเมื่อเหตุการณ์ชี้ไปที่เอนจินฐานข้อมูลหรือภาระงานเฉพาะ
สรุป
การเลือกเครื่องมือการตรวจสอบ SQL Server เริ่มต้นด้วยการตัดสินใจว่าสิ่งใดที่ต้องการให้มองเห็น ทรัพยากรของเซิร์ฟเวอร์ สุขภาพของฐานข้อมูล และประสิทธิภาพของการค้นหา แสดงถึงชั้นต่าง ๆ ของระบบเดียวกัน และไม่มีมาตรวัดเดียวที่อธิบายทั้งหมดได้
เริ่มต้นด้วยการตรวจสอบสุขภาพโครงสร้างพื้นฐาน จากนั้นเพิ่มการตรวจสอบเฉพาะ SQL ทุกครั้งที่ภาระงานต้องการการวินิจฉัยที่ลึกซึ้งยิ่งขึ้น วิธีการแบบชั้นนี้ช่วยให้การตรวจสอบมีความเป็นจริงในขณะที่ให้ทีม IT มีบริบทเพียงพอในการแยกแยะปัญหาของเซิร์ฟเวอร์จากปัญหาของฐานข้อมูลหรือคำถาม
TSplus Remote Access ทดลองใช้ฟรี
ทางเลือกที่ดีที่สุดสำหรับ Citrix/RDS สำหรับการเข้าถึงเดสก์ท็อป/แอปพลิเคชัน ปลอดภัย คุ้มค่า ราคา ประจำที่/คลาวด์
คำถามที่พบบ่อยบางประการ
เครื่องมือการตรวจสอบ SQL Server คืออะไร?
เครื่องมือการตรวจสอบ SQL Server จะติดตามสุขภาพ ประสิทธิภาพ หรือความพร้อมใช้งานของสภาพแวดล้อม Microsoft SQL Server ขึ้นอยู่กับขอบเขต อาจตรวจสอบทรัพยากรโฮสต์ ฐานข้อมูล การรอ การบล็อก คำสั่ง งาน การสำรองข้อมูล หรือการกำหนดค่าความพร้อมใช้งาน
ควรติดตามเมตริก SQL Server อะไรบ้าง?
เมตริกหลักที่ขึ้นอยู่กับภาระงานทั่วไป ได้แก่ CPU, หน่วยความจำ และการจัดเก็บ ขณะเดียวกัน เครื่องหมายเฉพาะ SQL จะบ่งชี้ถึงการรอ, การบล็อก, การล็อกตาย, การเติบโตของฐานข้อมูล, บันทึกการทำธุรกรรม, กิจกรรม TempDB, ระยะเวลาคำสั่ง และสถานะงาน
การตรวจสอบ Windows Server สามารถตรวจจับปัญหา SQL Server ได้หรือไม่?
การตรวจสอบ Windows Server สามารถระบุปัญหาโครงสร้างพื้นฐานที่ส่งผลกระทบต่อ SQL Server รวมถึงความกดดันของ CPU, หน่วยความจำ และดิสก์ มันไม่สามารถอธิบายปัญหาของฐานข้อมูลเช่นการถดถอยของแผนการค้นหา, โซ่การบล็อก หรือการรอเฉพาะ SQL ได้ด้วยตัวเอง
SQL Server มีเครื่องมือการตรวจสอบของตัวเองหรือไม่?
ใช่. Microsoft SQL Server มีเครื่องมือและสิ่งอำนวยความสะดวก เช่น Query Store, Extended Events, Activity Monitor, Dynamic Management Views, บันทึกข้อผิดพลาด และฟังก์ชันประสิทธิภาพ Transact-SQL ความเหมาะสมของพวกเขาขึ้นอยู่กับเหตุการณ์หรือภาระงานที่กำลังตรวจสอบอยู่
ฉันต้องการซอฟต์แวร์ตรวจสอบ SQL Server ที่เฉพาะเจาะจงหรือไม่?
ไม่จำเป็นต้องเป็นเช่นนั้น เครื่องมือที่มีอยู่ในตัวอาจเพียงพอสำหรับสภาพแวดล้อมขนาดเล็กหรือการแก้ไขปัญหาชั่วคราว ร่วมกับ TSplus การตรวจสอบเซิร์ฟเวอร์ สำหรับวัตถุประสงค์ทั่วไป เครื่องมือตรวจสอบในตัวของ Microsoft SQL Server เองไม่มีอะไรให้ต้องอิจฉาผลิตภัณฑ์การตรวจสอบของบุคคลที่สาม การตรวจสอบที่มุ่งเน้นจะมีประโยชน์มากขึ้นเมื่อทีมต้องการการมองเห็นที่รวมศูนย์ การแจ้งเตือนอย่างต่อเนื่อง ประวัติระยะยาว หรือการวินิจฉัยที่รวดเร็วข้ามหลายอินสแตนซ์ของ SQL Server