วิธีการลดเพจจิ้งของหน่วยความจำบัฟเฟอร์พูใน SQL Server รุ่น 64 บิต

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 918483 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

Microsoft SQL Server ดำเนินตามความต้องการหน่วยความจำของการโหลดปัจจุบันและกิจกรรมในระบบการจัดการหน่วยความจำแบบไดนามิก ใน Windows Server 2003 หรือใน Windows XP หรือรุ่นที่ใหม่กว่ารุ่นระบบ SQL Server สามารถใช้กลไกการแจ้งเตือนหน่วยความจำที่มีอยู่ โดย Windows API QueryMemoryResourceNotification บนระบบที่ใช้ Microsoft Windows 2000 Server, SQL Server เป็นระยะ ๆ คำนวณหน่วยความจำกายภาพฟรีในระบบ โดยใช้ Windows API ที่ท้องถิ่น SQL Server โดยใช้รายละเอียดนี้ จาก Windows API ของ QueryMemoryResourceNotification หรือ จากการคำนวณหน่วยความจำ ตอบสนองกับสถานการณ์ปัจจุบันของหน่วยความจำบนระบบที่เฉพาะเจาะจง ซึ่งให้ประโยชน์ต่อไปนี้:
  • ระบบไม่หน้าออกจากชุดการทำงานของกระบวนการใน SQL Server
  • ฐานข้อมูลที่จำเป็นเพจที่พร้อมใช้งานในหน่วยความจำเพื่อลดความต้องการของ I/O กายภาพ
สำหรับข้อมูลเพิ่มเติม ให้ดูหัวข้อ "การจัดการหน่วยความจำแบบไดนามิก" และ "ตัวเลือกหน่วยความจำเซิร์ฟเวอร์" หัวข้อใน SQL Server Books Online

อาการ

ในรุ่น 64 บิตของ SQL Server ปัญหาต่าง ๆ อาจเกิดขึ้น ตัวอย่างเช่น ปัญหาต่อไปนี้อาจเกิดขึ้น:
  • ประสิทธิภาพการทำงานของ SQL Server ลดทันที
  • คอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server หยุดการตอบสนองเป็นระยะเวลาสั้น ๆ
  • หมดเวลาเกิดขึ้นสำหรับโปรแกรมประยุกต์ที่เชื่อมต่อกับ SQL Server
  • ปัญหาที่เกิดขึ้นเมื่อคุณเรียกใช้คำสั่งง่าย ๆ แม้ หรือใช้แอปพลิเคชันบนระบบ
ถ้าคุณติดตั้ง SQL Server 2005 Service Pack 2 (SP2) หรือรุ่นที่ใหม่กว่า ข้อความแสดงข้อผิดพลาดต่อไปนี้ถูกบันทึกไว้ในแฟ้มบันทึกข้อผิดพลาด SQL Server เมื่อเกิดปัญหาเหล่านี้เกิดขึ้น:
ข้อความแสดงข้อผิดพลาด 1
วันและเวลา spid1s A สำคัญส่วนของหน่วยความจำกระบวนการของเซิร์ฟเวอร์ sql ที่ถูกเอาเพจเข้าไม่เพียงพอ ซึ่งอาจส่งผลในการลดประสิทธิภาพ ระยะเวลา: วินาที 0 การตั้งค่าการทำงาน (KB): 1086400 มั่น (KB): 2160928 การใช้งานหน่วยความจำ: 50%
ข้อความแสดงข้อผิดพลาด 2
วันและเวลา spid1s A สำคัญส่วนของหน่วยความจำกระบวนการของเซิร์ฟเวอร์ sql ที่ถูกเอาเพจเข้าไม่เพียงพอ ซึ่งอาจส่งผลในการลดประสิทธิภาพ ระยะเวลา: วินาทีที่ 315 การตั้งค่าการทำงาน (KB): 410156 มั่น (KB): 2201296 การใช้งานหน่วยความจำ: 18%
ข้อความแสดงข้อผิดพลาด 3
วันและเวลา spid1s A สำคัญส่วนของหน่วยความจำกระบวนการของเซิร์ฟเวอร์ sql ที่ถูกเอาเพจเข้าไม่เพียงพอ ซึ่งอาจส่งผลในการลดประสิทธิภาพ ระยะเวลา: วินาทีที่ 646 การตั้งค่าการทำงาน (KB): 901904 มั่น (KB): 2215752 การใช้งานหน่วยความจำ: 40%

ทีมการสนับสนุน Microsoft SQL Server ได้ตรวจสอบข้อผิดพลาดเพิ่มเติมข้อความหรือคำเตือนที่จะถูกบันทึกไว้ ในล็อกข้อผิดพลาดของเซิร์ฟเวอร์ SQL หรือ ในบันทึกเหตุการณ์ของ Windows ข้อความเหล่านี้มีลักษณะต่อไปนี้:
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
คำเตือนหรือข้อความข้อผิดพลาดเพิ่มเติมเหล่านี้อาจปรากฏขึ้นพร้อมกับข้อผิดพลาด "เป็นส่วนหนึ่งที่สำคัญของหน่วยความจำขั้นตอนของ sql server ได้ถูกจหมด" ข้อความได้ ในหลายกรณี คำเตือนหรือข้อความข้อผิดพลาดเพิ่มเติมเหล่านี้ไม่ปรากฏพร้อมกับข้อผิดพลาด

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

สาเหตุ

ปัญหานี้เกิดขึ้นได้เนื่องจากเพจของระบบปฏิบัติการของ Windows ออกชุดการทำงานของกระบวนการใน SQL Server

ข้อความข้อผิดพลาดเหล่านี้ถูกบันทึกไว้เมื่อชุดการทำงานของกระบวนการของเซิร์ฟเวอร์ SQL ถึง 50 เปอร์เซ็นต์ หรือน้อยกว่าหน่วยความจำที่มีความมุ่งมั่นเพื่อให้กระบวนการใน SQL Server คุณสามารถใช้ข้อความข้อผิดพลาดเหล่านี้เพื่อกำหนดว่ากรณีที่ประสิทธิภาพการทำงานของ SQL Server ลดอย่างมากเนื่องจากเพจของระบบปฏิบัติการของ Windows ออกชุดการทำงานของกระบวนการ SQL Server นอกจากนี้ ข้อความข้อผิดพลาดเหล่านี้เข้าสู่ระบบทุกห้านาทีในระหว่าง 30 นาทีแรก หลังจากแรก 30 นาที ความถี่ของข้อความข้อผิดพลาดเหล่านี้ doubles จนกว่าความถี่ที่มาถึงจำนวนสูงสุดของวันหนึ่ง

เมื่อเกิดปัญหานี้ คุณอาจสังเกตเห็นว่า ชุดการทำงานของแอปพลิเคชันอื่น ๆ ในระบบคือยังจหมดไปรอบ ๆ ในเวลาเดียวกัน
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
http://blogs.msdn.com/psssql/archive/2007/05/31/the-sql-server-working-set-message.aspx
นอกจากนี้ ทราบปัญหาแล้วใน SQL Server ซึ่งคุณอาจได้รับอินสแตนซ์ของข้อความข้อผิดพลาดนี้ ข้อความแสดงข้อผิดพลาดถูกบันทึกไว้ในล็อกข้อผิดพลาดของเซิร์ฟเวอร์ SQL ในระหว่างกระบวนการเริ่มต้นระบบของเซิร์ฟเวอร์ SQL ข้อความแสดงข้อผิดพลาดอาจมีคำเตือน false ดังนั้น อาจมีการไม่ระบุว่า ตัดแต่งชุดการทำงานมีการเกิดขึ้นจริง สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
http://blogs.msdn.com/psssql/archive/2009/05/12/sql-server-reports-working-set-trim-warning-message-during-early-startup-phase.aspx

การหลีกเลี่ยงปัญหา

ก่อนที่คุณพยายามที่จะหลีกเลี่ยงปัญหานี้ ดำเนินการขั้นตอนต่าง ๆ ในส่วน "วิธีการแก้ไขปัญหานี้" เพื่อแก้ไขปัญหานี้

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

หมายเหตุ สำหรับรุ่น 64 บิตของ SQL Server สามารถใช้เฉพาะ SQL Server Enterprise Edition หน้าการล็อกในหน่วยความจำ ผู้ใช้ที่ด้านขวา นี่คือสามารถใช้ได้ สำหรับ SQL Server 2005 [RTM, SP1, SP2, SP3] และ SQL Server 2008 [RTM และ SP1] SQL Server 2008 SP1 สะสมปรับปรุง 2 และ SQL Server 2005 SP3 สะสม Update 4 แนะนำการสนับสนุนสำหรับรุ่น SQL Server มาตรฐานเพื่อใช้ใน หน้าการล็อกในหน่วยความจำ ผู้ใช้ที่ด้านขวา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนสำหรับเพจที่ถูกล็อกในระบบ 64 บิต คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
970070การสนับสนุนสำหรับล็อกหน้า บนระบบของ SQL Server 2005 มาตรฐานรุ่น 64 บิต และ บนระบบของ SQL Server 2008 มาตรฐานรุ่น 64 บิต
เมื่อต้องการกำหนด หน้าการล็อกในหน่วยความจำ ขวา ผู้ใช้ให้ทำตามขั้นตอนเหล่านี้:
  1. คลิก เริ่มการทำงานคลิก เรียกใช้, ชนิด gpedit.mscแล้ว คลิก ตกลง.

    หมายเหตุ ที่'นโยบายกลุ่ม' กล่องโต้ตอบปรากฏขึ้น
  2. ขยาย คอมพิวเตอร์ ตั้งค่าคอนฟิกแล้ว ขยาย การตั้งค่า Windows.
  3. ขยาย การตั้งค่าการรักษาความปลอดภัยแล้ว ขยายนโยบายภายในเครื่อง.
  4. คลิก กำหนดสิทธิ์ของผู้ใช้แล้ว คลิกสองครั้ง เพจที่อยู่ในล็อก หน่วยความจำ.
  5. ในการ การตั้งค่านโยบายความปลอดภัยท้องถิ่นกล่องโต้ตอบ คลิก เพิ่มผู้ใช้หรือกลุ่ม.
  6. ในการ เลือกผู้ใช้หรือกลุ่ม กล่องโต้ตอบ เพิ่มบัญชีผู้ใช้ที่มีสิทธิ์ใน การเรียกใช้แฟ้ม Sqlservr.exe แล้ว คลิกตกลง.
  7. ปิดเครื่อง 'นโยบายกลุ่ม' กล่องโต้ตอบ
  8. เริ่มบริการ SQL Server
หลังจากที่คุณได้กำหนดให้การ หน้าการล็อกในหน่วยความจำ ผู้ใช้ที่ด้านขวาและเริ่มบริการ SQL Server ระบบปฏิบัติการ Windows อีกต่อไปไม่ใช่หน้าออกจากหน่วยความจำบัฟเฟอร์พูภายใน SQL Server ดำเนินการ อย่างไรก็ตาม ระบบปฏิบัติการ Windows สามารถยังคงหน้าออกจากหน่วยความจำพู nonbuffer ภายในกระบวนการใน SQL Server

คุณสามารถตรวจสอบว่า ผู้ใช้ที่ถูกใช้ โดยอินสแตนซ์ของ SQL Server โดยการทำให้แน่ใจว่า ข้อความต่อไปนี้ถูกเขียนลงในแฟ้มบันทึกข้อผิดพลาดของเซิร์ฟเวอร์ SQL เมื่อเริ่มต้นระบบ:
ใช้เพจที่ถูกล็อกสำหรับพูบัฟเฟอร์
ข้อความนี้นำไปใช้กับ SQL Server รุ่น 64 บิตเท่านั้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อความนี้ในการ ERRORLOG แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx
เมื่อเพจของระบบปฏิบัติการของ Windows ออกหน่วยความจำพู nonbuffer คุณอาจยังคงพบปัญหาประสิทธิภาพการทำงาน อย่างไรก็ตาม ข้อความแสดงข้อผิดพลาดที่กล่าวถึงในส่วน "อาการ" จะไม่มีล็อกในแฟ้มบันทึกข้อผิดพลาดของ SQL Server ลักษณะการทำงานนี้เกิดขึ้นได้เนื่องจากชุดการทำงานของกระบวนการของเซิร์ฟเวอร์ SQL โดยทั่วไปไม่ถึง 50 เปอร์เซ็นต์ หรือน้อยกว่าหน่วยความจำที่กำหนดไว้

ข้อมูลเพิ่มเติม

วิธีการแก้ไขปัญหานี้

เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
  1. เมื่อต้องการแก้ไขปัญหาที่ทราบที่ทำให้ระบบปฏิบัติการ Windows เพื่อหน้าออกจากชุดการทำงานของกระบวนการ SQL Server ใช้โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้

    หมายเหตุ โปรแกรมแก้ไขด่วนเป็นแบบสะสม โปรแกรมแก้ไขด่วนรุ่นประกอบด้วยรุ่นก่อนหน้าของโปรแกรมแก้ไขด่วนที่
    • Microsoft ได้พบปัญหาที่อาจทำให้ SQL Server รุ่น 64 บิตชุดเพื่อให้การทำงาน การตัดแต่ง สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
      905865ขนาดของชุดการทำงานของกระบวนการทั้งหมดในเซสชันของคอนโซลอาจถูกตัดออกเมื่อคุณใช้บริการเทอร์มินัลการเข้าสู่ หรือออกจากคอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2003
    • คอมพิวเตอร์ ที่กำลังเรียกใช้ Windows Server 2003 สามารถอื่นมากเกินไปเมื่อพวกเขาแคช ถ้าไม่มีการดำเนินการ I/O buffered เช่นแฟ้มโปรแกรมประยุกต์สกปรกบัฟเฟอร์ การคัดลอกการดำเนินงาน ลักษณะการทำงานนี้อาจทำให้เกิดชุดการทำงานใน SQL Server จะถูกตัดออก สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
      920739คุณอาจพบการลดลงของประสิทธิภาพการทำงานโดยรวมของระบบเมื่อคุณกำลังคัดลอกแฟ้มที่มีขนาดใหญ่กว่า 500 MB โดยประมาณ ใน Windows Server 2003 หรือ ใน Windows Server 2003
    • ชุดการทำงานของ SQL Server อาจถูกตัดออกได้เมื่อระบบได้โดยใช้คุณลักษณะขั้นสูงบางอย่างของ TCP สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
      942861ข้อความแสดงข้อผิดพลาดเมื่อโปรแกรมประยุกต์ที่เชื่อมต่อกับ SQL Server บนเซิร์ฟเวอร์ที่กำลังเรียกใช้ Windows Server 2003: "เครือข่ายทั่วไป ข้อผิดพลาด" "การสื่อสารเชื่อมโยงล้มเหลว" หรือ "การขนส่งระดับข้อผิดพลาด"
    • ในแบบหลายตัวประมวลผลคอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2003 กระบวนการระบบอาจใช้หน่วยความจำของระบบที่พร้อมใช้งานมากที่สุด สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
      942486กระบวนการระบบอาจใช้เนื้อที่ส่วนใหญ่ของหน่วยความจำของระบบที่มีอยู่ในคอมพิวเตอร์แบบหลายตัวประมวลผลที่กำลังเรียกใช้ Windows Server 2003
  2. ถ้าใช้โปรแกรมควบคุมอุปกรณ์ MmAllocateContiguousMemory ฟังก์ชัน และ หากเป็นตั้งค่าของเครื่อง HighestAcceptableAddress พารามิเตอร์การน้อยกว่า 4 กิกะไบต์ (GB), ระบบปฏิบัติการ Windows อาจหน้าออกจากชุดการทำงานของกระบวนการ SQL Server แบบ 64 บิต เมื่อต้องการแก้ไขปัญหานี้ ติดต่อผู้จำหน่ายโปรแกรมควบคุมอุปกรณ์สำหรับปรับปรุงโปรแกรมควบคุม สำหรับรายการของโปรแกรมควบคุม ที่มีพบปัญหา โปรดดูส่วน "ผู้จำหน่ายอื่นๆ" ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
    2121098 การปรับปรุงระบบปฏิบัติการและไดรเวอร์สำหรับการติดตั้ง SQL Server ที่แนะนำ
  3. ถ้าคุณยังคงประสบปัญหาเหล่านี้หลังจากที่คุณนำโปรแกรมแก้ไขด่วนเหล่านี้ ใช้โปรแกรมแก้ไขด่วนของ Windows ที่จำกัดจำนวนของการดำเนินการสำหรับแต่ละขั้นตอนการตัดแต่ง สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
    938486คอมพิวเตอร์ที่ใช้ Windows Server 2003 กลายเป็นไม่ตอบสนองเนื่องจากการการหน่วยความจำตัวจัดการ trimming ดำเนินการที่เป็นผลมาจากโมดูลไม่ทราบแน่ชัดที่ร้องขอหน่วยความจำ
    956341 คอมพิวเตอร์ที่ใช้ Windows Server 2003 กลายเป็นไม่ตอบสนองเนื่องจากมีการร้องขอการจัดสรรหน่วยความจำขนาดใหญ่
    เมื่อโปรแกรมควบคุมอุปกรณ์พยายามที่จะจัดสรรหน่วยความจำ ระบบปฏิบัติการ Windows อาจหน้าออกจากชุดการทำงานของโปรแกรมประยุกต์อื่น โปรแกรมแก้ไขด่วนของ Windows นี้ช่วยให้คุณสามารถใช้การติดตามเหตุการณ์เพื่อค้นหาโปรแกรมควบคุมอุปกรณ์ซึ่งเป็นสาเหตุของปัญหา เมื่อต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมควบคุมที่ระบุซึ่งเป็นสาเหตุของการทำงานทำงานชุด trimming ดูบทความของ MSDN"การระบุโปรแกรมควบคุมที่มีการจัดสรรหน่วยความจำที่อยู่ติดกัน."
  4. โปรแกรมประยุกต์อาจใช้แคชของระบบมากเกินไป และอาจทำให้เกิดการเติบโตที่มีขนาดใหญ่ของแคชของระบบ การตอบสนองต่อการเติบโตของแคชของระบบ ระบบเพจที่ออกชุดการทำงาน ของกระบวนการใน SQL Server หรือโปรแกรมประยุกต์อื่น หากคุณประสบปัญหานี้ คุณสามารถใช้ฟังก์ชันการจัดการหน่วยความจำบางอย่างในแอพลิเคชัน ฟังก์ชันเหล่านี้ควบคุมระยะห่างของแคชของระบบที่ดำเนินการ I/O ของแฟ้มที่สามารถใช้ในแอพลิเคชัน ตัวอย่างเช่น คุณสามารถใช้การ SetSystemFileCacheSize ฟังก์ชันและ GetSystemFileCacheSize ฟังก์ชันเพื่อควบคุมระยะห่างของแคชของระบบที่สามารถใช้ในการดำเนินการ I/O ของแฟ้ม

    คุณสามารถใช้วัตถุประสิทธิภาพการทำงานของหน่วยความจำได้เมื่อต้องการดูค่าของตัวนับที่แตกต่างกันในวัตถุนี้เพื่อกำหนดว่า ชุดการทำงานแคชของระบบใช้หน่วยความจำมากเกินไป ตัวอย่างเช่น คุณสามารถดูตัวนับการแคชไบต์และชุดไบต์ที่แคชของระบบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้ แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
    http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx

    http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx

    http://support.microsoft.com/default.aspx?scid=kb;EN-สหรัฐอเมริกา 976618
    คุณสามารถดาวน์โหลด และปรับใช้ "Microsoft แบบไดนามิกแคบริการ Windows" เพื่อควบคุมหน่วยความจำที่ใช้งาน โดยระบบแคช
  5. ถ้าเซิร์ฟเวอร์ SQL กำลังทำงานร่วมกับ SAP R/3 คุณอาจพบประเด็นเก็บเพจจะ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
    931308คุณอาจพบเพจจิ้งเพิ่มขึ้นบนฮาร์ดดิสก์เมื่อคุณเรียกใช้โปรแกรมป้องกันไวของ SAP R/3 บนคอมพิวเตอร์ที่ใช้ Windows Server 2003
  6. ถ้าคุณกำลังเรียกใช้ SQL Server บน Windows Server 2008 คุณต้องใช้การแก้ไขปัญหาสำหรับปัญหาที่ทราบที่สามารถนำไปสู่การทำงานชุด trimming หรือปริมาณการใช้หน่วยความจำที่มากเกินไปไม่จำเป็นโดยคอมโพเนนต์ของระบบปฏิบัติการอื่น ๆ สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

    971442 ประสิทธิภาพการทำงานของระบบของเซิร์ฟเวอร์กลายเป็นความเสียหายรุนแรงลดลงเมื่อคุณพยายามที่จะคัดลอกแฟ้มจากเซิร์ฟเวอร์ที่กำลังเรียกใช้ Windows Vista หรือ Windows Server 2008 ผ่านทางเครือข่าย

    974609 คอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2008 แบบสุ่มหยุดการตอบสนองเมื่อคุณเรียกใช้โปรแกรมประยุกต์ที่มีขนาดใหญ่

    971714 กระบวนการสร้างรายงานอาจหยุดการตอบสนองเมื่อคุณเรียกใช้ Perfmon.exe กับแม่แบบของการวินิจฉัยการไดเรกทอรีที่ใช้งานอยู่เพื่อสร้างรายงานในตัวควบคุมโดเมนที่ใช้ Windows Server 2008
  7. ถ้าคุณกำลังเรียกใช้ SQL Server บน Windows ทำหน้าที่ 2008 R2 คุณต้องใช้การแก้ไขปัญหาสำหรับปัญหาที่ทราบที่สามารถนำไปสู่การทำงานชุด trimming สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
    979149 คอมพิวเตอร์ที่กำลังเรียกใช้ Windows 7 หรือ Windows Server 2008 R2 จะไม่ตอบสนองเมื่อคุณเรียกใช้โปรแกรมประยุกต์ที่มีขนาดใหญ่

    2155311 ประสิทธิภาพการทำงานที่ไม่ดีที่เกิดขึ้นบนคอมพิวเตอร์ที่มีตัวประมวลผลที่ใช้ NUMA และที่กำลังเรียกใช้ Windows Server 2008 R2 หรือ Windows 7 ถ้าล็อตที่ร้องขอแบบเธรดของหน่วยความจำที่อยู่ภายใน 4 กิกะไบต์แรกหน่วยความจำ

    2468345 คอมพิวเตอร์ทำได้ไม่ดี หรือหยุดการตอบสนองเมื่อคุณใช้โปรแกรมควบคุม Storport ใน Windows Server 2008 R2 เป็นระยะ ๆ

วิธีการตรวจสอบหน่วยความจำที่ถูกใช้ โดย SQL Server รุ่น 64 บิต

คุณสามารถใช้ตัวตรวจสอบประสิทธิภาพการทำงานได้เมื่อต้องการดูหน้าของหน่วยความจำที่มี ใช้ โดย SQL Server รุ่น 64 บิต เมื่อต้องการทำเช่นนี้ ให้ตรวจสอบประสิทธิภาพการทำงานต่อไปนี้ ตัวนับ:
วัตถุของประสิทธิภาพการทำงาน: หน่วยความจำ
ตัวนับ: หน้า/วินาที
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ตัวนับนี้เพื่อตรวจสอบ หน่วยความจำหน้า ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในการ ฐานความรู้ของ Microsoft:
889654วิธีการตรวจสอบขนาดของแฟ้มเพจที่เหมาะสมสำหรับเวอร์ชัน 64 บิตของ Windows Server 2003 หรือ Windows XP
นอกจากนี้ คุณสามารถวัด ลักษณะพิเศษของเพจจิ้งในรุ่น 64 บิตของ SQL Server โดยการตรวจสอบต่อไปนี้ เคาน์เตอร์วัดประสิทธิภาพการทำงาน:
ประสิทธิภาพการทำงานที่วัตถุ: กระบวนการ
นับ: ไบต์ที่ส่วนตัว
ตัวอย่าง: sqlservr

ประสิทธิภาพการทำงานที่วัตถุ: กระบวนการ
ตัวนับ: ชุดการทำงาน
ตัวอย่าง: sqlservr
ตัวนับไบต์ส่วนตัววัดหน่วยความจำที่มีความมุ่งมั่นในขณะนี้ การทำงานการตั้งค่าตัวนับวัดหน่วยความจำทางกายภาพที่ไม่ว่างในขณะนี้ โดยใช้กระบวนการ นอกจากนี้รุ่น 64 บิตของ SQL Server ยังใช้ตัวนับประสิทธิภาพการทำงานต่อไปนี้เพื่อแสดงหน่วยความจำที่ใช้การจัดสรรพูบัฟเฟอร์:
วัตถุของประสิทธิภาพการทำงาน: การจัดการหน่วยความจำ: เซิร์ฟเวอร์ SQL
ตัวนับ: Memory(KB) เซิร์ฟเวอร์ทั้งหมด
หมายเหตุ ถ้าอินสแตนซ์ของ SQL Server รุ่น 64 บิตอินสแตนซ์ที่ระบุชื่อ ที่อยู่ ชื่อของวัตถุประสิทธิภาพการทำงานเป็นดังนี้:
MSSQL $InstanceName: ตัวจัดการหน่วยความจำ
ถ้าค่าของตัวนับการทำงานการตั้งค่าน้อยกว่าค่าของตัวนับการ Memory(KB) ทั้งหมดของเซิร์ฟเวอร์ หน่วยความจำบางอย่างที่เป็นส่วนหนึ่งของเก็บพักบัฟเฟอร์ที่ถูกตัดออกจาก การตั้งค่าการทำงานของ SQL Server

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

ข้อควรพิจารณาที่สำคัญก่อนที่คุณกำหนดให้ผู้ใช้ "ล็อกหน้าในหน่วยความจำ" ทางขวาสำหรับอินสแตนซ์ของ SQL Server รุ่น 64 บิต

คุณควรตรวจสอบให้พิจารณาเพิ่มเติมก่อนที่คุณกำหนด หน้าการล็อกในหน่วยความจำ ผู้ใช้ที่ด้านขวา ถ้าคุณได้กำหนดให้ผู้ใช้รายนี้ทางขวาบนระบบที่มีการกำหนดค่าอย่างไม่ถูกต้อง ระบบอาจเสถียร หรือเกิดการลดลงของประสิทธิภาพการทำงานของระบบทั้งหมด นอกจากนี้ event ID 333 อาจถูกบันทึกไว้ในแฟ้มบันทึกเหตุการณ์

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

ก่อนที่คุณกำหนด หน้าการล็อกในหน่วยความจำ ผู้ใช้ขวา ตรวจสอบให้แน่ใจว่า คุณจับภาพบันทึกการตรวจสอบประสิทธิภาพการทำงานเพื่อตรวจสอบความต้องการหน่วยความจำของโปรแกรมประยุกต์และบริการต่าง ๆ ที่มีการติดตั้งบนระบบแตกต่างกัน แอปพลิเคชันเหล่านี้ยังรวมถึง SQL Server เมื่อต้องการกำหนดความต้องการหน่วยความจำ เก็บรวบรวมข้อมูลพื้นฐานต่อไปนี้:
  • ตรวจสอบให้แน่ใจว่า คุณตั้งค่า หน่วยความจำสูงสุดของเซิร์ฟเวอร์ ตัวเลือกและ หน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุด ตัวเลือกได้อย่างถูกต้อง ตัวเลือกเหล่านี้สะท้อนให้เห็นถึงความเท่านั้นที่หน่วยความจำต้องของเก็บพักบัฟเฟอร์ของกระบวนการใน SQL Server ตัวเลือกเหล่านี้ไม่รวมหน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์อื่น ๆ ภายในกระบวนการใน SQL Server คอมโพเนนต์เหล่านี้รวมถึงต่อไปนี้:
    • เธรดตัวทำงานของ SQL Server
    • ตัวจัดสรรหลายเพจของตัวจัดการหน่วยความจำของ SQL Server
    • Dll และคอมโพเนนต์ที่กระบวนการใน SQL Server โหลดภายในพื้นที่ของที่อยู่ของ SQL Server กระบวนการ ต่าง ๆ
    • การดำเนินงานการทำสำรองและการคืนค่า
  • Dll และคอมโพเนนต์รวม บริการ OLE DB ต่าง ๆ ขยายกระบวนงานที่เก็บ Microsoft COM วัตถุที่จะใช้สำหรับการ sp_OACreate กระบวนงานที่เก็บไว้ เซิร์ฟเวอร์ที่มีการเชื่อมโยง และ CLR ของเซิร์ฟเวอร์ SQL หน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์เหล่านี้อยู่ภายใต้ขอบเขตของพู nonbuffer ของช่องว่างอยู่ของกระบวนการใน SQL Server เมื่อต้องการกำหนดจำนวนสูงสุดของหน่วยความจำที่กระบวนการ SQL Server ทั้งหมดสามารถใช้แต้ม คุณต้องลบหน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์ที่ไม่ได้ใช้เก็บพักบัฟเฟอร์จากหน่วยความจำทั้งหมดที่คุณต้องการให้กระบวนการของ SQL Server จะใช้ แล้ว คุณสามารถใช้ค่าส่วนที่เหลือในการตั้งค่า หน่วยความจำสูงสุดของเซิร์ฟเวอร์ ตัวเลือก ก่อนที่คุณตั้งค่า หน่วยความจำสูงสุดของเซิร์ฟเวอร์ ตัวเลือกและ หน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุด ตัวเลือก คุณอย่างระมัดระวังควรทบทวนหัวข้อ "การตั้งค่าตัวเลือกหน่วยความจำด้วยตนเอง" ใน SQL Server Books Online
  • กำหนดความต้องการหน่วยความจำ ของแอปพลิเคชันอื่น ๆ และคอมโพเนนต์ของระบบปฏิบัติการ Windows โปรแกรมประยุกต์อาจมีส่วน SQL Server ประกอบอื่น ๆ ยกตัวอย่างเช่น ตัว แทนของเซิร์ฟเวอร์ SQL บริษัทตัว แทนการจำลองแบบเซิร์ฟเวอร์ SQL บริการรายงานของ SQL Server, SQL Server Analysis Services บริการการรวมของ SQL Server และเซิร์ฟเวอร์ SQL เต็มรูปแบบการค้น หาข้อความ แอปพลิเคชันที่ทำการดำเนินการสำรองข้อมูลและการดำเนินการคัดลอกแฟ้มอาจใช้หน่วยความจำ พิจารณาดำเนินการเช่นการคัดลอกมีขนาดใหญ่และบริษัทตัวแทนการ Snapshot ที่สร้างแฟ้ม IO คุณต้องพิจารณาถึงความต้องการหน่วยความจำของโปรแกรมประยุกต์เหล่านี้ทั้งหมดเมื่อคุณกำหนดค่าของเครื่อง หน่วยความจำสูงสุดของเซิร์ฟเวอร์ ตัวเลือก และของ หน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุด ตัวเลือก คุณสามารถใช้ตัวไบต์ส่วนตัวนับและตัวนับการทำงานการตั้งค่าภายใต้วัตถุของกระบวนการสำหรับกระบวนการทั้งหมดเพื่อตรวจสอบความต้องการหน่วยความจำสำหรับกระบวนการที่เจาะจง
  • โดยค่าเริ่มต้น การ หน้าการล็อกในหน่วยความจำ กำหนดให้ผู้ใช้ที่ด้านขวาไปยังบัญชี Local System อยู่แล้วภายใน สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
    http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx
  • ถ้าคุณใช้บัญชีผู้ใช้ Windows ส่วนกลางสำหรับกระบวนการ SQL Server ทั้งหมดในโดเมน กำหนดสิทธิ์ของผู้ใช้ที่ได้รับการกำหนด โดยใช้การกำหนดค่า'นโยบายกลุ่ม' กระบวนการแบบ 32 บิต SQL Server อาจใช้บัญชีนี้เป็นบัญชีผู้ใช้เริ่มต้นระบบ อย่างไรก็ตาม บัญชีนี้ต้องการ หน้าการล็อกในหน่วยความจำ สิทธิ์ของผู้ใช้เมื่อต้องการเปิดใช้งานคุณลักษณะการอยู่ Windowing Extensions (AWE) สำหรับข้อมูลเพิ่มเติม ให้ดูหัวข้อ "เพื่อให้จำนวนหน่วยความจำสูงสุดกับ SQL Server" ใน SQL Server Books Online
  • ก่อนที่คุณตั้งค่าคอนฟิก หน่วยความจำสูงสุดของเซิร์ฟเวอร์ ตัวเลือกและ หน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุด ตัวเลือกสำหรับอินสแตนซ์ของ SQL Server หลาย พิจารณาความต้องการหน่วยความจำของพู nonbuffer สำหรับแต่ละอินสแตนซ์ของ SQL Server กำหนดค่าตัวเลือกเหล่านี้สำหรับแต่ละอินสแตนซ์ของ SQL Server แล้ว
แต้ม คุณรวบรวมข้อมูลพื้นฐานที่นี้ในระหว่างโหลดสูงสุด ดังนั้น คุณสามารถกำหนดความต้องการหน่วยความจำสำหรับแตกต่างกันโปรแกรมประยุกต์และคอมโพเนนต์จะสนับสนุนการโหลดสูงสุด ความต้องการหน่วยความจำที่แตกต่างกันไปจากระบบหนึ่งไปยังระบบอื่น ขึ้นอยู่กับกิจกรรมและโปรแกรมประยุกต์ที่กำลังทำงานอยู่บนระบบ

วิธีการใช้ข้อมูลจากบัฟเฟอร์วงแหวนของ SQL Server เพื่อกำหนดเงื่อนไขการหน่วยความจำเมื่อเพจจิ้งที่เกิดขึ้น

คุณสามารถใช้ข้อมูลจากบัฟเฟอร์วงแหวนของ SQL Server เพื่อกำหนดเงื่อนไขของหน่วยความจำบนเซิร์ฟเวอร์เมื่อเพจจิ้งที่เกิดขึ้น คุณสามารถใช้สคริปต์เช่นสคริปต์ต่อไปนี้เพื่อดูข้อมูลนี้
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

หมายเหตุ แบบสอบถามนี้ไม่ถูกต้องสำหรับทั้ง SQL Server 2005 และ SQL Server 2008

คุณสามารถสอบถามรายละเอียดที่ให้ไว้ใน sys.dm_os_process_memory มุมมองการจัดการแบบไดนามิกเพื่อให้เข้าใจว่า ระบบกำลังพบกับเงื่อนไขของหน่วยความจำไม่เพียงพอ สำหรับข้อมูลเพิ่มเติม ให้ดูการอ้างอิง SQL Server 2008 Books Online ใน MSDN เว็บไซต์ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/bb510747.aspx

ข้อมูล BPA R2 2008 การเซิร์ฟเวอร์ SQL

ตัว SQL Server 2008 R2 ที่ดีที่สุดแบบฝึกหัดวิเคราะห์ (SQL Server 2008 R2 BPA) มีหลายกฎการตรวจสอบสถานการณ์ที่สามารถส่งผลให้การทำงาน trimming ของชุดของขั้นตอนของ SQL Server BPA SQL Server 2008 R2 สนับสนุน SQL Server 2008 และ SQL Server 2008 R2

ถ้าคุณเรียกใช้เครื่องมือ BPA และได้รับคำเตือน "Database Engine - หน่วยความจำของ SQL Server ที่มีการตั้งค่าที่ไม่ถูกต้อง คุณจำเป็นต้องการตรวจสอบการตั้งค่าหน่วยความจำสูงสุดของเซิร์ฟเวอร์สำหรับอินสแตนซ์ของ SQL Server นี้ และทำตามคำแนะนำในส่วน"ข้อควรพิจารณาที่สำคัญก่อนที่คุณกำหนดผู้ใช้ 'ล็อกหน้าในหน่วยความจำ' ทางขวาสำหรับอินสแตนซ์ของ SQL Server รุ่น 64 บิต"ของบทความนี้

ถ้าคุณเรียกใช้เครื่องมือ BPA และพบข้อผิดพลาด "กลไกจัดการฐานข้อมูล - การดำเนินการแฟ้มระบบและโปรแกรมควบคุมที่ต้องการปรับปรุงสำหรับการทำงานชุด trimming คุณต้องการตรวจทานแก้ไขทั้งหมดที่กล่าวถึงในส่วน"การแก้ไข"ของบทความนี้ และนำไปใช้

ถ้าคุณเรียกใช้เครื่องมือ BPA และพบข้อผิดพลาด "Database Engine - ส่วนสำคัญของ SQL Server ที่มีถูกเพจพูหน่วยความจำไม่เพียงพอ คุณจำเป็นต้องทบทวนส่วน"การแก้ไข"และ"การแก้ปัญหา"ของบทความนี้ และดำเนินการที่เหมาะสม

ข้อมูลอ้างอิง

ยุบตารางนี้ขยายตารางนี้
ซอฟต์แวร์ของกฎชื่อเรื่องของกฎตัวบ่งชี้ของกฎ
กฎการ BPA R2 SQL Server 2008การตั้งค่าหน่วยความจำของ SQL Server จะไม่ถูกต้องRID3804
กฎการ BPA R2 SQL Server 2008 แฟ้มระบบปฏิบัติการและโปรแกรมควบคุมที่ต้องการปรับปรุงสำหรับการทำงานชุด trimming RID0059
กฎการ BPA R2 SQL Server 2008ส่วนที่สำคัญของหน่วยความจำของ SQL Server ถูกเพจจะไม่เพียงพอRID0049

การปรับปรุง ใน Windows Server 2008 และ Windows Server 2008 R2


Windows Server 2008 และ Windows Server 2008 R2 ปรับปรุงกลไกการจัดสรรหน่วยความจำที่อยู่ติดกัน โครงการปรับปรุงนี้ช่วยให้ Windows Server 2008 และ Windows Server 2008 R2 ลดขอบเขตบางลักษณะพิเศษของเพจจิ้งออกจากชุดการทำงานของแอปพลิเคชันเมื่อการร้องขอหน่วยความจำใหม่ที่มีเข้ามา

ต่อไปนี้เป็นคำอธิบายของการปรับปรุงจาก whitepaper ของ Microsoft "ขยับในหน่วยความจำการจัดการใน Windows":

ใน Windows Server 2008 การปันส่วนของหน่วยความจำทางกายภาพที่อยู่ติดกันเป็นอย่างมากพิเศษ การร้องขอการจัดสรรหน่วยความจำต่อเนื่องกันนานหลายสำเร็จได้เนื่องจากตัวจัดการหน่วยความจำในขณะนี้แบบไดนามิกแทนหน้า โดยทั่วไป โดยไม่มีการตัดแต่งชุดการทำงาน หรือการทำงาน I/O ได้ ในวก เพิ่มเติมหลายชนิดของเพจที่ — เช่นกองเคอร์เนลและแฟ้มระบบข้อมูลเมตาของเพจ ระหว่างผู้อื่นซึ่งอยู่ในขณะนี้ผู้สมัครสำหรับการแทน ในเวลาต่อมา หน่วยความจำเพิ่มเติมที่อยู่ติดกันอยู่โดยทั่วไปในเวลาที่กำหนด นอกจากนี้ การขอรับเช่นการปันส่วนต้นทุนอย่างมากลด
เมื่อต้องการดู whitepaper "ขยับในหน่วยความจำการจัดการใน Windows" แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของ Microsoft ต่อไปนี้:
http://blogs.msdn.com/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx
http://support.microsoft.com/kb/2001745
หมายเหตุ บนคอมพิวเตอร์ที่ใช้ Windows Server 2008 คุณต้องติดตั้ง SQL Server Service Pack 2 (SP2) หรือรุ่นที่ใหม่กว่า SQL Server เซอร์วิสแพ็ค

ผลิตภัณฑ์ของบริษัทอื่นที่กล่าวถึงในบทความนี้ผลิตขึ้น โดยบริษัทที่ไม่เกี่ยวข้องกับ Microsoft Microsoft ไม่รับประกัน โดยนัย หรืออย่างอื่น ใด เกี่ยวกับประสิทธิภาพหรือความน่าเชื่อถือของผลิตภัณฑ์เหล่านี้

คุณสมบัติ

หมายเลขบทความ (Article ID): 918483 - รีวิวครั้งสุดท้าย: 27 กรกฎาคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Keywords: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:918483

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com