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

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

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

สรุป

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

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

สาเหตุ

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

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

เมื่อปัญหานี้เกิดขึ้น คุณอาจสังเกตเห็นว่า ชุดการทำงานของโปรแกรมประยุกต์อื่นในระบบจะยังเพจหมดไปรอบ ๆ ในเวลาเดียวกัน
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
http://blogs.msdn.com/psssql/archive/2007/05/31/the-sql-server-working-set-message.aspx
นอกจากนี้ มีปัญหาที่ทราบแล้วใน SQL Server ซึ่งคุณอาจได้รับอินสแตนซ์ของข้อความแสดงข้อผิดพลาดนี้ ข้อความข้อผิดพลาดถูกบันทึกในล็อกข้อผิดพลาดของเซิร์ฟเวอร์ SQL ในระหว่างกระบวนการเริ่มต้นของ SQL Server ข้อความแสดงข้อผิดพลาดอาจจะเตือนเป็นเท็จ ดังนั้น จึง อาจไม่มีระบุว่า ตัดแต่งชุดการทำงานจริงเกิดขึ้น สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของ 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 โดยการล็อกหน่วยความจำที่มีการปันส่วนสำหรับประเภทการบัฟเฟอร์ในหน่วยความจำทางกายภาพ คุณสามารถล็อกหน่วยความจำ โดยการกำหนดสิทธิ์ของผู้ใช้ล็อกหน้าในหน่วยความจำสำหรับบัญชีผู้ใช้ที่จะใช้เป็นบัญชีผู้ใช้เริ่มต้นระบบของบริการ SQL Server

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

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

คุณสามารถตรวจสอบว่า มีใช้ในสิทธิ์ของผู้ใช้ โดยอินสแตนซ์ของ SQL Server ด้วยการทำให้แน่ใจว่า จะเขียนข้อความต่อไปนี้ใน SQL Server ล็อกข้อผิดพลาดเมื่อเริ่มต้น:
ใช้เพจที่ถูกล็อกสำหรับบัฟเฟอร์กลุ่ม
ข้อความนี้ใช้เฉพาะกับรุ่น 64 บิตของ SQL Server.For ข้อมูลเพิ่มเติมเกี่ยวกับข้อความนี้ในการ 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 ใช้โปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้

    หมายเหตุ โปรแกรมแก้ไขด่วนเป็นแบบสะสม รุ่นก่อนหน้าของโปรแกรมแก้ไขด่วนที่ประกอบด้วยโปรแกรมแก้ไขด่วนรุ่นที่ใหม่กว่า
    • Microsoft พบปัญหาที่อาจทำให้รุ่น 64 บิตของ SQL Server ที่ชุดงานจะถูกตัดการทำงาน สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      905865 ขนาดของชุดทำงานของกระบวนการทั้งหมดในเซสชันของคอนโซลอาจถูกตัดเมื่อคุณใช้บริการเทอร์มินัลเพื่อเข้าสู่ระบบ หรือออกจากคอมพิวเตอร์ที่ใช้ Windows Server 2003
    • คอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2003 อาจสูงเกินไปเมื่อพวกเขาแคบัฟเฟอร์สกปรกถ้าไม่มีโปรแกรมประยุกต์ที่ดำเนินการ I/O ถูกบัฟเฟอร์ เช่นการคัดลอกแฟ้ม ลักษณะการทำงานนี้อาจทำให้ชุดการทำงานใน SQL Server จะถูกตัดแต่ง สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      920739 คุณอาจพบการลดลงของประสิทธิภาพของระบบโดยรวมเมื่อคุณกำลังคัดลอกแฟ้มที่มีขนาดใหญ่กว่าประมาณ 500 MB ใน Windows Server 2003 หรือ ใน Windows Server 2003
    • ชุดการทำงานของเซิร์ฟเวอร์ SQL อาจถูกตัดระบบกำลังใช้คุณลักษณะขั้นสูงบางอย่างของ TCP สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      942861 ข้อความแสดงข้อผิดพลาดเมื่อโปรแกรมประยุกต์ที่เชื่อมต่อกับ SQL Server บนเซิร์ฟเวอร์ที่กำลังเรียกใช้ Windows Server 2003: "เครือข่ายทั่วไปข้อผิดพลาด "สื่อสารเชื่อมโยงล้มเหลว"หรือ"การขนส่งระดับข้อผิดพลาด"
    • บนคอมพิวเตอร์หลายตัวประมวลผลที่กำลังเรียกใช้ Windows Server 2003 กระบวนการระบบอาจใช้หน่วยความจำพร้อมใช้งานระบบส่วนใหญ่ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
      942486 กระบวนการระบบอาจใช้สินค้าส่วนใหญ่ของหน่วยความจำระบบที่พร้อมใช้งานบนคอมพิวเตอร์แบบหลายตัวประมวลผลที่กำลังเรียกใช้ Windows Server 2003
  2. ถ้าคุณใช้ไดรเวอร์ของอุปกรณ์ MmAllocateContiguousMemory ฟังก์ชัน และ ถ้าคุณได้ตั้งค่าใน HighestAcceptableAddress พารามิเตอร์น้อยกว่า 4 กิกะไบต์ (GB), ระบบปฏิบัติการ Windows อาจหน้าออกชุดการทำงานของกระบวนการเซิร์ฟเวอร์ SQL 64 บิต เมื่อต้องการแก้ไขปัญหานี้ ติดต่อผู้จำหน่ายโปรแกรมควบคุมอุปกรณ์สำหรับการปรับปรุงโปรแกรมควบคุม สำหรับรายการของโปรแกรมควบคุม ที่มีปัญหา โปรดดูส่วน "ผู้จำหน่ายอื่นๆ" ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
    2121098 แนะนำการปรับปรุงระบบปฏิบัติการและไดรเวอร์สำหรับการติดตั้ง SQL Server
  3. ถ้าคุณยังคงพบปัญหาเหล่านี้หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ ใช้โปรแกรมแก้ไขด่วนของ Windows ที่จำกัดจำนวนของการดำเนินงานตัดแต่งสำหรับแต่ละกระบวนการ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
    938486 คอมพิวเตอร์ที่ใช้ Windows Server 2003 กลายเป็นไม่ตอบสนองได้เนื่องจาก มีการดำเนินการตัดแต่งการจัดการหน่วยความจำซึ่งเกิดจากโมดูลชัดเจนที่ร้องขอหน่วยความจำ
    956341 คอมพิวเตอร์ที่ใช้ Windows Server 2003 กลายเป็นไม่ตอบสนองได้เนื่องจาก มีการร้องขอการจัดสรรหน่วยความจำขนาดใหญ่
    เมื่อโปรแกรมควบคุมอุปกรณ์พยายามที่จะจัดสรรหน่วยความจำ ระบบปฏิบัติการ Windows อาจหน้าออกชุดการทำงานของโปรแกรมประยุกต์อื่น โปรแกรมแก้ไขด่วนนี้ Windows ช่วยให้คุณสามารถใช้เหตุการณ์การสืบค้นการค้นหาโปรแกรมควบคุมอุปกรณ์ที่เป็นสาเหตุของปัญหา เมื่อต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมควบคุมเฉพาะที่ทำให้เกิดพฤติกรรมการตัดแต่งชุดทำงาน ดูบทความของ MSDN"ระบุโปรแกรมควบคุมที่จัดสรรหน่วยความจำที่อยู่ติดกัน."
  4. โปรแกรมประยุกต์อาจใช้แคชของระบบมากเกินไป และอาจทำให้เกิดการเติบโตการแคชของระบบขนาดใหญ่ การตอบสนองต่อการเติบโตของแคชระ หน้าระบบออกชุดการทำงาน ของกระบวนการเซิร์ฟเวอร์ SQL หรือโปรแกรมประยุกต์อื่น ถ้าคุณประสบปัญหานี้ คุณสามารถใช้ฟังก์ชันการจัดการหน่วยความจำบางอย่างในแอพลิเคชัน ฟังก์ชันเหล่านี้ควบคุมระยะห่างของแคชของระบบที่สามารถใช้ในการดำเนินการ 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;สหรัฐอเมริกาสั้น 976618
    คุณสามารถดาวน์โหลด และปรับใช้ "Microsoft แบบไดนามิกแคบริการของ Windows" เพื่อควบคุมหน่วยความจำที่ถูกใช้ โดยการแคชของระบบ
  5. ถ้า SQL Server ทำงานร่วมกับ SAP R/3 คุณอาจพบปัญหาการแบ่งหน้า สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
    931308 คุณอาจพบการแบ่งหน้าเพิ่มลงบนฮาร์ดดิสก์เมื่อคุณเรียกใช้โปรแกรม SAP R/3 บนคอมพิวเตอร์ที่ใช้ Windows Server 2003
  6. ถ้าคุณกำลังเรียกใช้ SQL Server บน Windows Server 2008 คุณต้องใช้การแก้ไขปัญหาสำหรับปัญหาที่ทราบที่อาจทำให้การทำงานการตัดแต่งชุดหรือปริมาณการใช้หน่วยความจำมากเกินไปที่ไม่จำเป็นโดยคอมโพเนนต์ระบบปฏิบัติการอื่น ๆ สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

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

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

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

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

    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 ชุดการทำงาน

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

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

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

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

ก่อนที่คุณกำหนดสิทธิ์ของผู้ใช้ล็อกหน้าในหน่วยความจำโปรดตรวจสอบให้แน่ใจว่า คุณเก็บแฟ้มบันทึกการตรวจสอบประสิทธิภาพการทำงานเพื่อกำหนดความต้องการหน่วยความจำของโปรแกรมประยุกต์และบริการที่ติดตั้งบนระบบต่าง ๆ โปรแกรมประยุกต์เหล่านี้ยังรวมถึง SQL Server เมื่อต้องการกำหนดความต้องการหน่วยความจำ เก็บรวบรวมข้อมูลพื้นฐานต่อไปนี้:
  • ตรวจสอบให้แน่ใจว่า คุณตั้งค่าตัวเลือกหน่วยความจำสูงสุดของเซิร์ฟเวอร์และตัวเลือกหน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุดได้อย่างถูกต้อง ตัวเลือกเหล่านี้สะท้อนถึงเฉพาะหน่วยความจำความต้องการของเก็บพักบัฟเฟอร์ของกระบวนการเซิร์ฟเวอร์ SQL ตัวเลือกเหล่านี้ไม่มีหน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์อื่น ๆ ภายในกระบวนการเซิร์ฟเวอร์ SQL คอมโพเนนต์เหล่านี้มีดังนี้:
    • SQL Server เธรดของผู้ปฏิบัติงาน
    • ตัวจัดสรรของตัวจัดการหน่วยความจำของ SQL Server หลายเพจ
    • Dll และคอมโพเนนต์ที่โหลดกระบวนการเซิร์ฟเวอร์ SQL ภายในพื้นที่ที่อยู่ของ SQL Server กระบวนการ ต่าง ๆ
    • การดำเนินการสำรองข้อมูลและคืนค่า
  • Dll และคอมโพเนนต์การรวมหลายตัวให้บริการ OLE DB กระบวนงานที่เก็บไว้แบบขยาย Microsoft COM ออบเจ็กต์ที่จะใช้สำหรับกระบวนงานที่เก็บไว้sp_OACreateเซิร์ฟเวอร์ที่ถูกเชื่อมโยง และ CLR ของเซิร์ฟเวอร์ SQL หน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์เหล่านี้อยู่ภายใต้บริเวณพู nonbuffer ของพื้นที่ที่อยู่ของกระบวนการเซิร์ฟเวอร์ SQL เมื่อต้องการผู้กำหนดยอดเงินสูงสุดของหน่วยความจำที่สามารถใช้ในกระบวนการ SQL Server ทั้งหมด คุณต้องลบหน่วยความจำที่มีการปันส่วนสำหรับคอมโพเนนต์ที่ไม่ได้ใช้เก็บพักบัฟเฟอร์จากหน่วยความจำทั้งหมดที่คุณต้องการให้กระบวนการเซิร์ฟเวอร์ SQL จะใช้ จากนั้น คุณสามารถใช้ค่าเศษเหลือเพื่อตั้งค่าตัวเลือกหน่วยความจำสูงสุดของเซิร์ฟเวอร์ ก่อนที่คุณตั้งค่าตัวเลือกหน่วยความจำสูงสุดของเซิร์ฟเวอร์และตัวเลือกหน่วยความจำของเซิร์ฟเวอร์ค่าน้อยที่สุดคุณควรตรวจทานหัวข้อ "การตั้งค่าตัวเลือกหน่วยความจำด้วยตนเอง" ใน SQL Server Books Online อย่างระมัดระวัง
  • กำหนดความต้องการหน่วยความจำ ของโปรแกรมประยุกต์อื่น และคอมโพเนนต์ระบบปฏิบัติการ Windows โปรแกรมประยุกต์อาจรวม SQL Server คอมโพเนนต์อื่น ๆ เช่น บริษัทตัว แทนการเซิร์ฟเวอร์ SQL บริษัทตัว แทนการจำลองแบบเซิร์ฟเวอร์ SQL บริการรายงานของ SQL Server, SQL Server Analysis Services บริการการรวมเซิร์ฟเวอร์ SQL และค้น หาข้อความแบบเต็มของเซิร์ฟเวอร์ 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 ทั้งหมดในโดเมน กำหนดสิทธิ์ของผู้ใช้ที่กำหนดให้ โดยใช้การกำหนดค่า'นโยบายกลุ่ม' กระบวนการของเซิร์ฟเวอร์ SQL เวอร์ชั่น 32 บิตอาจใช้บัญชีนี้เป็นบัญชีผู้ใช้เริ่มต้นระบบ อย่างไรก็ตาม บัญชีผู้ใช้นี้ต้องมีสิทธิ์ของผู้ใช้ล็อกหน้าในหน่วยความจำเพื่อเปิดใช้งานคุณลักษณะส่วนขยาย Windowing อยู่ (AWE) สำหรับข้อมูลเพิ่มเติม ดูหัวข้อ "ให้ยอดเงินสูงสุดของหน่วยความจำไปยังเซิร์ฟเวอร์ SQL" ใน 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 ที่เว็บไซต์ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/bb510747.aspx
ตัว SQL Server 2008 R2 ดีฝึกหัดวิเคราะห์ (SQL Server 2008 R2 BPA) มีหลายกฎตรวจพบสถานการณ์ที่อาจก่อให้เกิดการตัดแต่งชุดของกระบวนการเซิร์ฟเวอร์ SQL ที่ทำงาน การ BPA SQL Server 2008 R2 สนับสนุน SQL Server 2008 และ SQL Server 2008 R2

ยุบตารางนี้ขยายตารางนี้
ซอฟต์แวร์ของกฎชื่อเรื่องของกฎคำอธิบายกฎรุ่นผลิตภัณฑ์ที่จะถูกประเมินกฎ
SQL Server 2008 R2 ดีที่สุดวิธีปฏิบัติ Analyzer (SQL BPA R2 2008 เซิร์ฟเวอร์)
ตั้งค่าหน่วยความจำของเซิร์ฟเวอร์ SQL ไม่ถูกต้อง


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


SQL Server 2008 R2 ดีที่สุดวิธีปฏิบัติ Analyzer (SQL BPA R2 2008 เซิร์ฟเวอร์)แฟ้มระบบปฏิบัติการและโปรแกรมควบคุมที่ปรับปรุงที่จำเป็นสำหรับการตัดแต่งชุดการทำงานถ้าคุณเรียกใช้เครื่องมือ BPA และพบข้อผิดพลาด "กลไกจัดการฐานข้อมูล - การดำเนินการแฟ้มระบบและโปรแกรมควบคุมที่จำเป็นต้องปรับปรุงสำหรับการทำงานการตั้งค่าการตัดแต่ง คุณต้องการตรวจทานแก้ไขทั้งหมดที่กล่าวถึงในส่วน"การแก้ไข"ของบทความนี้ และนำไปใช้
SQL Server 2008
SQL Server 2008 R2

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


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


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

ต่อไปนี้เป็นคำอธิบายของการปรับปรุงจาก Microsoft whitepaper "ล่วงหน้าในหน่วยความจำการจัดการใน 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
หมายเหตุ คุณต้องติดตั้ง SQL Server Service Pack 2 (SP2) หรือรุ่นที่ใหม่กว่า SQL Server service pack บนคอมพิวเตอร์ที่ใช้ Windows Server 2008

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

คุณสมบัติ

หมายเลขบทความ (Article ID): 918483 - รีวิวครั้งสุดท้าย: 20 มิถุนายน 2557 - Revision: 5.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