คอร์ส SQL Server Performance Tuning ฉบับภาษาไทย
เนื้อหาถูกเรียบเรียงมาจาก Microsoft Course 10987C โดยมีการปรับปรุงเนื้อหาและสคริปต์ให้ทันสมัย
คอร์สนี้ครอบคลุมการปรับปรุงประสิทธิภาพ SQL Server ตั้งแต่พื้นฐานสถาปัตยกรรมไปจนถึงเทคนิคขั้นสูง โดยเน้นการใช้งาน Dynamic Management Views (DMVs), Extended Events, และเครื่องมือวินิจฉัยสมัยใหม่
- ✅ 11 Modules ครอบคลุมทุกด้านของ Performance Tuning
- ✅ Modern Scripts อัปเดตตาม SQL Server 2025 Diagnostic Queries
- ✅ Hands-on Labs พร้อมแบบฝึกหัดจริง
- ✅ Workload Scripts สำหรับทดสอบและสาธิต
- ✅ Best Practices จาก Microsoft และ SQL Server Experts
| Module | หัวข้อ | คำอธิบาย | ระดับ |
|---|---|---|---|
| 01 | Architecture, Scheduling, and Waits | เข้าใจการทำงานของ SQLOS, Schedulers และ Wait Stats | ⭐⭐⭐ |
| 02 | I/O Subsystem | การวัดผลและการจัดการ I/O Latency | ⭐⭐⭐ |
| 03 | Database Structures | Data Files, Log Files, VLFs และ TempDB | ⭐⭐ |
| 04 | Memory | Buffer Pool, Page Life Expectancy และการตั้งค่า Memory | ⭐⭐⭐ |
| 05 | Concurrency | Locking, Blocking, Isolation Levels และ Deadlocks | ⭐⭐⭐⭐ |
| 06 | Statistics and Indexes | Index Fragmentation, Missing Indexes และ Statistics | ⭐⭐⭐⭐ |
| 07 | Query Execution | การอ่าน Execution Plan และปัญหา Performance Killers | ⭐⭐⭐⭐ |
| 08 | Plan Caching | Plan Bloat, Recompilation และ Parameterization | ⭐⭐⭐ |
| 09 | Extended Events | การใช้งาน XEvents แทน Profiler | ⭐⭐⭐ |
| 10 | Monitoring and Baselines | การทำ Performance Baseline ด้วย PerfMon | ⭐⭐⭐ |
| 11 | Troubleshooting | สรุปแนวทางการวิเคราะห์ปัญหา | ⭐⭐⭐⭐⭐ |
แต่ละ Module จะแบ่งออกเป็น 2 โฟลเดอร์:
Module_XX_Topic/
├── Scripts/ # 📺 Demo Scripts (สำหรับสาธิตแนวคิด)
│ ├── 00_Workload_*.sql # Workload scripts สำหรับสร้างโหลด
│ └── README_Workload.md # คำแนะนำการใช้งาน Workload
└── Labs/
├── README.md # 📝 คำแนะนำแล็บ
└── Scripts/ # 🧪 Lab Scripts (แบบฝึกหัดสำหรับผู้เรียน)
| ข้อกำหนด | รายละเอียด |
|---|---|
| SQL Server | 2022 (แนะนำ) หรือ 2019 ขึ้นไป |
| Database | AdventureWorks2022 |
| Permissions | VIEW SERVER STATE, VIEW DATABASE STATE |
| Tools | SQL Server Management Studio (SSMS) 18.0+ |
-
Clone Repository
git clone https://github.com/yourusername/MS-SQL-Server-Performance-Tuning.git cd MS-SQL-Server-Performance-Tuning -
Setup Database
- ดาวน์โหลดและติดตั้ง AdventureWorks2022
- Restore database ลงใน SQL Server instance ของคุณ
-
Verify Setup
- ตรวจสอบความพร้อมของระบบก่อนเริ่มเรียน
- (หากมี) รัน
00_Master_Verification.sql
-
เริ่มเรียน
- เริ่มจาก Module 01 เพื่อเข้าใจพื้นฐาน
- ทำตาม Demo Scripts ก่อน แล้วค่อยทำ Labs
- Module 01 → Module 02 → Module 03 → Module 04
- เน้นทำความเข้าใจพื้นฐานก่อน
- Module 05 → Module 06 → Module 07
- เน้นการวิเคราะห์และแก้ไขปัญหาจริง
- Module 08 → Module 09 → Module 10 → Module 11
- เน้นเทคนิคขั้นสูงและการทำ Baseline
สคริปต์สำหรับสาธิตแนวคิดและเทคนิค โดยผู้สอนสามารถรันเพื่อแสดงผลลัพธ์ให้ผู้เรียนเห็น
- Workload Scripts: สร้างโหลดเพื่อให้ Demo Scripts แสดงผลลัพธ์ที่ชัดเจน
- Diagnostic Scripts: วิเคราะห์สถานะและประสิทธิภาพของระบบ
แบบฝึกหัดสำหรับผู้เรียน เพื่อนำความรู้มาแก้ปัญหาจริง
- Hands-on Exercises: ฝึกปฏิบัติตามสถานการณ์จริง
- Challenge Scripts: ทดสอบความเข้าใจด้วยปัญหาที่ซับซ้อน
- Total Modules: 11
- Total Scripts: 100+ SQL scripts
- Workload Scripts: 15+
- Lab Exercises: 50+
- Microsoft Course 10987C: Performance Tuning and Optimizing SQL Server
- Glenn Berry: SQL Server Diagnostic Information Queries (2025)
- SQLSkills: Wait Statistics Library
- Microsoft Learn: Performance Center Documentation
This repository is for educational purposes. Scripts are provided as-is with attribution to original authors.
This project is licensed under the MIT License - see the LICENSE file for details.
สคริปต์ใน Repository นี้จัดทำขึ้นเพื่อวัตถุประสงค์ทางการศึกษาเท่านั้น
กรุณาใช้ความระมัดระวัง เมื่อรันสคริปต์บน Production Environment
⭐ ถ้าคุณพบว่าคอร์สนี้มีประโยชน์ กรุณา Star Repository นี้ ⭐
Made with ❤️ for the SQL Server Community