Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

Microsoft SQL Server Query Store

Microsoft® SQL Server® Query Store ตามชื่อที่แนะนำ เหมือนกับ astore ที่รวบรวมประวัติฐานข้อมูลของคิวรีที่ดำเนินการ สถิติการเรียกใช้คิวรีรันไทม์ และแผนการดำเนินการ เนื่องจากข้อมูลถูกจัดเก็บไว้ในดิสก์ คุณจึงสามารถดึงข้อมูลที่เก็บแบบสอบถามได้ทุกเมื่อเพื่อวัตถุประสงค์ในการแก้ไขปัญหา และการรีสตาร์ทเซิร์ฟเวอร์ SQL จะไม่มีผลกับข้อมูล ใช้ Query Store ซึ่งเปิดตัวใน SQL Server 2016 และพร้อมใช้งานในรุ่นที่ใหม่กว่าทั้งหมด เพื่อแก้ไขปัญหาด้านประสิทธิภาพที่เกิดจากการเปลี่ยนแปลงแผนการสืบค้น

แนะนำตัว

คุณอาจพบว่าการวิเคราะห์ข้อมูลพื้นฐานมีประโยชน์สำหรับการแก้ไขปัญหาประสิทธิภาพ แต่จนกว่าจะมีการเปิดตัว Query Store ข้อมูลนั้นไม่พร้อมใช้งานในเซิร์ฟเวอร์ SQL หากเปิดใช้งาน Query Store สำหรับฐานข้อมูล จะเก็บข้อมูลเกี่ยวกับคิวรีที่ดำเนินการพร้อมกับแผนการดำเนินการและสถิติรันไทม์ เปิดใช้งานในระดับฐานข้อมูลและสามารถเปิดใช้งานสำหรับฐานข้อมูลของผู้ใช้ทั้งหมดและฐานข้อมูลระบบ MSDB ข้อมูลที่เกี่ยวข้องกับที่เก็บแบบสอบถามและข้อมูลเมตาจะถูกเก็บไว้ในตารางภายในภายในฐานข้อมูลเอง ไม่จำเป็นต้องจัดการการสำรองข้อมูลแยกต่างหากของ Query Store เนื่องจากการสำรองข้อมูลฐานข้อมูลมาตรฐานมีข้อมูลที่จำเป็นทั้งหมด หากต้องการดูข้อมูล Query Store คุณต้องมี View Database State ได้รับอนุญาตและคุณต้องมีDB_Owner สิทธิในการบังคับและยกเลิกการบังคับใช้แผน คุณดูข้อมูลนี้ได้ผ่านสตูดิโอการจัดการและผ่าน T-SQL

การตั้งค่าที่เก็บแบบสอบถาม

ทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้งาน Query Store สำหรับฐานข้อมูล:

  1. คลิกขวา ฐานข้อมูล -> ไปที่คุณสมบัติ .
  2. ภายใต้ เลือกเพจ , เลือก เลือกที่เก็บแบบสอบถาม .
  3. ใน ทั่วไป ส่วน เปลี่ยน โหมดการทำงาน (ร้องขอ) จาก Off เพื่อ Read-Write .
  4. ปล่อยให้ฟิลด์อื่นๆ ใน โหมดการทำงาน (ร้องขอ) กล่องแบบเลื่อนลงเป็นค่าเริ่มต้นที่เติมไว้ล่วงหน้า
  5. คลิก ตกลง ในกล่องคุณสมบัติฐานข้อมูลเพื่อเปิดใช้งาน Query Store สำหรับฐานข้อมูลที่เลือก

คุณสามารถเปิดใช้งาน Query Store ด้วย T-SQL โดยใช้รหัสต่อไปนี้:

ALTER DATABASE [DB_Name] SET QUERY_STORE = ON;

ตัวเลือกการกำหนดค่าต่างๆ ของ Query Store

รายการต่อไปนี้มีคำอธิบายของตัวเลือก Query Store บางส่วน:

  • โหมดการทำงาน (ร้องขอ) มีสามค่า:Off , Read Only และRead Write . เมื่อ Query Store ตั้งค่าโหมดเป็น Read ไม่มีการรวบรวมแผนการดำเนินการใหม่หรือสถิติรันไทม์ของแบบสอบถาม โหมดนี้เป็นการดำเนินการแบบอ่านอย่างเดียวที่เกี่ยวข้องกับ Query Store เปลี่ยนโหมดเป็น Read Write เปิดใช้งาน Query Store เพื่อรวบรวมคิวรีที่ดำเนินการ แผนการดำเนินการที่ใช้สำหรับคิวรีเหล่านั้น และสถิติรันไทม์สำหรับคิวรีเหล่านั้นที่รันในฐานข้อมูลที่เลือก

  • ช่วงเวลาการล้างข้อมูล (นาที) ช่วยให้คุณกำหนดความถี่ในการล้างแผนการดำเนินการที่รวบรวมและสถิติรันไทม์ของคิวรีจากหน่วยความจำไปยังดิสก์ โดยค่าเริ่มต้น จะถูกตั้งไว้ที่ 15 นาที

  • ช่วงการเก็บสถิติ กำหนดช่วงเวลาการรวมของสถิติรันไทม์การสืบค้นที่ควรใช้ภายใน Query Store โดยค่าเริ่มต้น ตั้งไว้ที่ 60 นาที

  • ขนาดสูงสุด (MB) ใช้เพื่อกำหนดค่าขนาดสูงสุดของ Query Store โดยค่าเริ่มต้น จะถูกตั้งค่าเป็น 100 MB ข้อมูลใน Query Store ถูกเก็บไว้ในฐานข้อมูลที่เปิดใช้งาน SQL Server Query Store ขึ้นอยู่กับ sizeconfigured ที่นี่ หลังจากที่ Query Store ถึงขนาดสูงสุด operationmode จะสลับไปที่ Read Only โหมดอัตโนมัติ

  • โหมดจับภาพ ช่วยคุณเลือกประเภทของคิวรีที่จะบันทึกใน QueryStore ตัวเลือกเริ่มต้นคือ All ซึ่งเก็บทุกการสืบค้นที่ดำเนินการ เมื่อตั้งค่าตัวเลือกนี้เป็น auto , Query Store พยายามแยกแยะว่าการสืบค้นใดที่ดักจับตามลำดับความสำคัญ และพยายามละเว้นการดำเนินการที่ไม่บ่อยนัก เช่นเดียวกับการสืบค้นเฉพาะกิจอื่นๆ

  • เกณฑ์การสืบค้นข้อมูลเก่า (วัน) ใช้เพื่อกำหนดระยะเวลาที่ข้อมูลอยู่ใน Query Store ค่าเริ่มต้นสำหรับโหมดนี้คือ 30 วัน

รายงานการจัดเก็บแบบสอบถาม

Query Store มีรายงานดังต่อไปนี้:

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

บังคับแผนด้วย Query Store

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

Query Store จัดเก็บแผนการสืบค้นและข้อมูลทางสถิติที่รวมตามเวลาภายในฐานข้อมูลที่ถูกตรวจสอบแต่ละฐานข้อมูล ไม่เหมือนกับแคชของแผน Query Store สามารถรักษาแผนได้หลายแผนต่อหนึ่งคิวรี และรักษาประวัติของการเปลี่ยนแปลงแผนคิวรีพร้อมกับสถิติที่เกี่ยวข้องต่อแผน ด้วยการเลือกแผนปฏิบัติการที่หลากหลาย คุณสามารถบังคับแผนปฏิบัติการใดๆ ก็ได้ จากนั้น Query Optimizer จะใช้แผนการบังคับการดำเนินการนี้สำหรับการดำเนินการค้นหาที่จะเกิดขึ้นเท่านั้น

ที่เก็บแบบสอบถาม -> เปิดแบบสอบถามการใช้ทรัพยากรยอดนิยม รายงานแสดงรายการข้อความค้นหาที่ใช้ทรัพยากรมาก มาเลือกแบบสอบถามเพื่อสอบกัน:

Microsoft SQL Server Query Store

วางเมาส์เหนือ แผน เพื่อดูสถิติที่เกี่ยวข้อง

Microsoft SQL Server Query Store

มาเปรียบเทียบแผนต่าง ๆ กันเถอะ

รายละเอียดแผน 216:

Microsoft SQL Server Query Store

รายละเอียดแผน 195:

Microsoft SQL Server Query Store

ระยะเวลาเฉลี่ยสำหรับแผน 216 ต่ำกว่า ดังนั้นจึงสามารถใช้บังคับแผนนี้ในการดำเนินการต่อไปได้ คลิกที่ บังคับแผน เพื่อดูหน้าจอยืนยันพร้อมข้อความ “คุณต้องการบังคับแผน 216 สำหรับแบบสอบถาม 42 หรือไม่”

Microsoft SQL Server Query Store

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

Microsoft SQL Server Query Store

แนวทางปฏิบัติที่ดีที่สุดกับ Query Store

  • ใช้ SQL Server Management Studio ล่าสุดเพื่อดูฟีเจอร์และการปรับปรุงล่าสุด

  • ตรวจสอบและตรวจสอบการเก็บรวบรวมข้อมูล Query Store

  • ตั้งค่า การสืบค้นที่เหมาะสมที่สุด โหมดการจับภาพและทบทวนตัวเลือกการกำหนดค่า Query Storeconfiguration ตามความจำเป็นเพื่อทำการปรับเปลี่ยน

  • หลีกเลี่ยงการใช้ข้อความค้นหาที่ไม่มีการกำหนดพารามิเตอร์

  • ตรวจสอบสถานะแผนบังคับอย่างสม่ำเสมอ

บทสรุป

Query Store เป็นคุณลักษณะที่มีประโยชน์ที่นำมาใช้ใน SQL Server 2016 เนื่องจากการปรับปรุงประสิทธิภาพการปรับแต่งเป็นหนึ่งในทักษะหลักที่จำเป็นสำหรับผู้ดูแลระบบฐานข้อมูล (DBA) ทุกคน คุณจึงควรเรียนรู้วิธีกำหนดค่าและใช้ Query Store คุณยังสามารถใช้ Query Store เพื่อติดตามการเปลี่ยนแปลงประสิทธิภาพได้ และแก้ไขปัญหาประสิทธิภาพการสืบค้นที่ลดลงโดยการเปรียบเทียบแผนการดำเนินการ คุณสามารถบังคับแผนการสอบถามข้อมูลใดๆ ก็ได้ สิ่งนี้จะแทนที่รายการที่บันทึกไว้ในแคชของแผน ดังนั้นจึงให้ประโยชน์ด้านประสิทธิภาพ Query Store ไม่มีผลกระทบสำคัญต่อประสิทธิภาพของ SQLServer เนื่องจากใช้เพื่อบันทึกและบันทึกสถิติการดำเนินการค้นหาและแผนการดูในภายหลัง

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม

เพิ่มประสิทธิภาพสภาพแวดล้อมของคุณด้วยการดูแลระบบ การจัดการ และการกำหนดค่าจากผู้เชี่ยวชาญ

บริการแอปพลิเคชันของ Rackspace(RAS) ผู้เชี่ยวชาญจะให้บริการแบบมืออาชีพและที่มีการจัดการในแอปพลิเคชันที่หลากหลาย:

  • แพลตฟอร์มอีคอมเมิร์ซและประสบการณ์ดิจิทัล
  • การวางแผนทรัพยากรองค์กร (ERP)
  • ระบบธุรกิจอัจฉริยะ
  • การจัดการลูกค้าสัมพันธ์ของ Salesforce (CRM)
  • ฐานข้อมูล
  • อีเมลโฮสติ้งและประสิทธิภาพการทำงาน

เราจัดส่ง:

  • ความเชี่ยวชาญที่เป็นกลาง :เราลดความซับซ้อนและเป็นแนวทางในการสร้างสรรค์สิ่งใหม่ของคุณ โดยมุ่งเน้นที่ความสามารถที่มอบคุณค่าในทันที
  • ประสบการณ์สุดคลั่ง ™:เรารวมกระบวนการก่อน เทคโนโลยีที่สอง®แนวทางพร้อมการสนับสนุนทางเทคนิคเฉพาะเพื่อมอบโซลูชันที่ครอบคลุม
  • ผลงานที่ยอดเยี่ยม :เราใช้ประสบการณ์ระบบคลาวด์ที่ครอบคลุมเพื่อช่วยคุณเลือกและปรับใช้เทคโนโลยีที่เหมาะสมบนระบบคลาวด์ที่เหมาะสม
  • ส่งไว :เราพบคุณในที่ที่คุณอยู่ในการเดินทางของคุณและปรับความสำเร็จของเราไปพร้อมกับคุณ

แชทเลยเพื่อเริ่มต้น