ฉันจะ จำกัด การใช้หน่วยความจำ MS SQL Server ได้อย่างไร


22

ฉันได้ยินมาว่า MS SQL Server ใช้ RAM มากเท่าที่จะสามารถเก็บผลลัพธ์ได้ มันไม่ได้ออกจากห้องต่อรองเพียงพอสำหรับ RAM ของเซิร์ฟเวอร์ตัวเล็กของเรา

ฉันจะเปลี่ยนการตั้งค่าเพื่อ จำกัด จำนวน RAM ที่สามารถใช้ได้อย่างไร

MS SQL Server ทำงานบน Windows Server 2008


3
@DavidSchwartz: ฉันคิดว่าคุณจะพบว่า MS SQL DBAs จำนวนมากจะ จำกัด จำนวน RAM ที่ DBE สามารถใช้ได้ มันมักจะมีผลกระทบต่อประสิทธิภาพในสิ่งอื่นที่ทำงานบนระบบ
wfaulk

1
@wfault: " โดยค่าเริ่มต้น SQL Server สามารถเปลี่ยนข้อกำหนดหน่วยความจำแบบไดนามิกตามทรัพยากรของระบบที่มีอยู่ " หลายคนชอบที่จะยุ่งกับสิ่งต่าง ๆ เพียงเพื่อให้เกิดความยุ่งเหยิงกับพวกเขา แต่สิ่งที่พวกเขากำลังทำจริง ๆ เพื่อปรับแต่งตัวเองเพื่อเปลี่ยนภาระ หากยังไม่พังคุณไม่สามารถแก้ไขได้ สิ่งนี้กระทำโดยทั่วไปโดยผู้ที่ต้องการเห็นหน่วยความจำฟรีจำนวนมากเพื่อทำให้ตัวเองรู้สึกดี แต่ที่จริงแล้วหน่วยความจำที่ว่างก็ไม่ได้ใช้เช่นกัน
David Schwartz

4
@DavidSchwartz: ฉันเข้าใจว่าคุณมาจากไหนและในสถานการณ์อื่น ๆ ฉันจะเห็นด้วยกับคุณ แต่ MS SQL ดูเหมือนจะไม่ได้เพิ่มประสิทธิภาพ IME นี้ได้ดีจริงๆ
wfaulk

1
จริง ๆ แล้วมันพังเพราะมันจะทำให้เซิร์ฟเวอร์หยุดชะงัก ...
FlavourScape

1
ฉันเห็นด้วยกับเพื่อนนี้: sqlservercentral.com/blogs/glennberry/2009/10/29/…
Daniel Dolz

คำตอบ:


24

จากวิธีกำหนดค่าตัวเลือกหน่วยความจำโดยใช้ Studio จัดการเซิร์ฟเวอร์ SQL :

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

  1. ในวัตถุ Explorer คลิกขวาที่เซิร์ฟเวอร์และเลือกProperties
  2. คลิกที่โหนดหน่วยความจำ
  3. ภายใต้ตัวเลือกหน่วยความจำเซิร์ฟเวอร์ใส่จำนวนเงินที่คุณต้องการสำหรับหน่วยความจำเซิร์ฟเวอร์ขั้นต่ำและหน่วยความจำเซิร์ฟเวอร์สูงสุด

คุณยังสามารถทำได้ใน T-SQL โดยใช้คำสั่งต่อไปนี้ (ตัวอย่าง):

exec sp_configure 'max server memory', 1024
reconfigure


2

ในการ จำกัด การใช้หน่วยความจำบริการ MS SQL:

ตั้งค่า "หน่วยความจำเซิร์ฟเวอร์สูงสุด" ใน SQL Server Management Studio

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

  2. ใน Object Explorer คลิกขวาที่เซิร์ฟเวอร์และเลือกคุณสมบัติ ป้อนคำอธิบายรูปภาพที่นี่

  3. คลิกที่โหนดหน่วยความจำที่แสดงด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่ 4. ภายใต้ตัวเลือกหน่วยความจำเซิร์ฟเวอร์ให้ป้อนจำนวนเงินที่คุณต้องการสำหรับหน่วยความจำเซิร์ฟเวอร์สูงสุด ด้านล่างดังที่คุณเห็นเรากำลังตั้งค่าหน่วยความจำเซิร์ฟเวอร์สูงสุดเป็น 4096 MB (เช่น 4 GB)

ป้อนคำอธิบายรูปภาพที่นี่

ในการ จำกัด การใช้หน่วยความจำบริการ MS SQL:

เราสามารถตั้งค่า "หน่วยความจำเซิร์ฟเวอร์สูงสุด" ด้วยการใช้สคริปต์ T-SQL:

ตัวอย่างต่อไปนี้ตั้งค่าตัวเลือกหน่วยความจำเซิร์ฟเวอร์สูงสุดเป็น 4 GB:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO

Ref: https://technet.microsoft.com/en-us/library/ms191144(v=sql.105).aspx

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.