คุณกำลังเรียกใช้ SQL Server บนเครื่องนี้ ดังนั้นมันจึงทำในสิ่งที่ SQL Server ทำ - มันสงวน (เกือบ) หน่วยความจำทั้งหมดที่มีอยู่บนระบบปฏิบัติการ ดังนั้นเมื่อได้รับคำสั่งจำนวนมากหรือการดำเนินการอื่นๆ ก็ไม่จำเป็นต้องจัดสรร RAM มันมีอยู่แล้ว
คุณมีตัวเลือกน้อย
- ยอมรับมัน. หากคุณกำลังเรียกใช้ SQL Server บนเครื่องนี้เท่านั้น แสดงว่ากำลังทำงานตามที่ตั้งใจไว้ ทิ้งไว้คนเดียว
- หมวกมัน หากคุณจำเป็นต้องเรียกใช้ปริมาณงานอื่นๆ บนเซิร์ฟเวอร์นี้ คุณสามารถจำกัดจำนวน RAM ที่ SQL จะสงวนไว้
ฉันจะไม่ทำตัวเลือกที่ 2 อย่างแน่นอน เว้นแต่ว่า SQL ไม่เคยใช้ RAM เลย คุณจะรู้เรื่องนี้ก็ต่อเมื่อคุณกำลังวัดตัวนับประสิทธิภาพ SQL ระดับ OS และมุมมองการจัดการแบบไดนามิกระดับ SQL
ภาพใหญ่ คุณกำลังพยายามแก้ปัญหาอะไรอยู่ "การเพิ่มพื้นที่ว่างในหน่วยความจำ" ในสถานการณ์นี้เป็นงานที่ไร้จุดหมาย เว้นแต่คุณจะรู้ว่าคุณกำลังเพิ่มพื้นที่ว่างสำหรับสิ่งอื่นที่จะใช้ คุณกำลังมีปัญหาเกี่ยวกับประสิทธิภาพการทำงานของ SQL หรือไม่ และถ้าใช่ คุณทราบได้อย่างไรว่า RAM ของคุณมีปัญหาคอขวด แทนที่จะเป็น เช่น การออกแบบดัชนีที่ไม่ถูกต้อง หรือข้อความค้นหาที่ไม่ได้เพิ่มประสิทธิภาพ
สิ่งที่ฉันกำลังพาคุณไปคือ ใช้การตรวจสอบที่เหมาะสมเพื่อวินิจฉัยปัญหาด้านประสิทธิภาพ คุณต้องรู้มากเกี่ยวกับ SQL และจำนวนที่เหมาะสมเกี่ยวกับ Windows ในการทำเช่นนี้ หากคุณไม่ใช่ DBA ให้จ้างหรือทำสัญญา หรือทำงานร่วมกับผู้จำหน่ายซอฟต์แวร์ของคุณหากนี่คือ SQL สำหรับผลิตภัณฑ์ที่ซื้อ หากเป็นสิ่งที่บริษัทของคุณเขียนขึ้นเองโดยไม่มี DBA ให้ไปหา
https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver15
ตามค่าเริ่มต้น อินสแตนซ์ SQL Server อาจใช้พื้นที่ส่วนใหญ่เมื่อเวลาผ่านไป
หน่วยความจำระบบปฏิบัติการ Windows ที่มีอยู่ในเซิร์ฟเวอร์ เมื่อ
ได้รับหน่วยความจำแล้ว จะไม่ถูกปล่อยออกมาเว้นแต่ว่าหน่วยความจำมีแรงดัน
ตรวจพบ นี่เป็นเพราะการออกแบบและไม่ได้บ่งชี้ถึงการรั่วไหลของหน่วยความจำใน
กระบวนการของเซิร์ฟเวอร์ SQL
/ แก้ไขตามการแก้ไขของคุณ:
แม้ว่าฉันจะไม่ใช่ผู้ดูแลระบบ แต่ฉันคิดว่าเซิร์ฟเวอร์ sql เป็น
ใช้หน่วยความจำน้อยเพราะทุกอย่างถูกใช้งานโดย
หน้าต่าง.
คุณเกือบจะผิดที่นี่ ดังที่ฉันได้กล่าวไว้ข้างต้น SQL Server จะจัดสรร RAM ของระบบเกือบทั้งหมดเมื่อเวลาผ่านไป จำนวน RAM ที่ใช้โดยกระบวนการ sqlserver.exe ไม่ได้บอกคุณว่า RAM ที่ SQL จัดสรรจริงเป็นจำนวนเท่าใด DMVs และ perfcounters จะบอกคุณว่า
ฉันใช้ SSMS เพื่อทำงานกับฐานข้อมูล และฉันสังเกตเห็นโดยตรงว่ามันช้าเพียงใด
ทุกๆสิ่งคือ. แม้แต่เรื่องง่ายๆ เช่น การเปิดบานหน้าต่างตารางเพื่อดู
ตารางทั้งหมดของฉันใช้เวลาสักครู่และบางครั้งก็หมดเวลา
อย่าเรียกใช้บนเซิร์ฟเวอร์ SQL ให้เรียกใช้จากเวิร์กสเตชันของคุณ