จุดบกพร่อง #: 194032 (การบำรุงรักษาเนื้อหา) VSTS: 1484606
อาการ
เมื่อคุณพยายามที่จะสร้างดัชนี (โดยใช้ดัชนีที่สร้างหรือปรับเปลี่ยนดัชนี) บนชนิดข้อมูล spatial ของตารางขนาดใหญ่ใน Microsoft SQL Server 2012 หรือ 2014 เซิร์ฟเวอร์ SQL การช่วงชิงงานบนอยู่สูงบนชนิดการรอCMEMTHREADและประสิทธิภาพการทำงานของการลดลงของ SQL Server
การแก้ปัญหา
ปัญหานี้ถูกถาวรแรกในการปรับปรุงสะสมต่อไปนี้ของ SQL Server
ปรับปรุงสะสม 1 สำหรับ SQL Server 2014/en-us/help/2931693
ปรับปรุงสะสม 7 สำหรับ SQL Server 2012 SP1/en-us/help/2894115
แต่ละโปรแกรมปรับปรุงสะสมใหม่สำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และทั้งหมดที่แก้ไขความปลอดภัยที่ถูกรวมอยู่ในการปรับปรุงที่สะสมก่อนหน้านี้ ตรวจหาการปรับปรุงสะสมล่าสุดสำหรับ SQL Server:
ข้อมูลการแพคเกจการปรับปรุงโปรแกรมแก้ไขด่วนมีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้ hotfix นี้เฉพาะกับระบบต่าง ๆ ที่พบปัญหานี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีการดาวน์โหลดโปรแกรมแก้ไขด่วน" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ส่งคำขอถึงฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft และวิธีการขอรับโปรแกรมแก้ไขด่วน
หมายเหตุ ถ้ามีปัญหาอื่น ๆ เกิดขึ้น หรือถ้าจำเป็นต้องแก้ไขปัญหาใด ๆ คุณอาจต้องสร้างคำขอรับบริการแยกต่างหาก จะมีค่าใช้จ่ายในการสนับสนุนปกติกับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนเฉพาะนี้ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าของ Microsoft และการสนับสนุน หรือ เพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "โปรแกรมแก้ไขด่วนดาวน์โหลดพร้อมใช้งาน" แสดงภาษาโปรแกรมแก้ไขด่วนจะพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
ข้อมูลเพิ่มเติม
ชนิดการรอCMEMTHREADบ่งชี้เวลารอบนวัตถุหน่วยความจำภายใน เธรดปลอดภัย ระดับที่สูงขึ้นของแบบสอบถามแบบขนานอาจทริกเกอร์การรอที่นำเพื่อประสิทธิภาพที่ลดลงของกิจกรรม spatial
การแก้ไขนี้ partitions CMEMTHREADที่เชื่อมโยงกับ "Spatial หน่วยความจำวัตถุ" โดยใช้พาร์ทิชันโหนNUMA ซึ่งช่วยลดการเกิดพร้อมกันกิจกรรมของผู้ปฏิบัติงานเพื่อกำหนดตารางการทำงานที่ใช้งานอยู่บนโหนเดียวจำนวน สำหรับระบบที่มีการกำหนดตารางทำงานสำหรับแต่ละโหนระดับสูง ติดตามค่าสถานะ – T8048 สามารถใช้วัตถุหน่วยความจำทั้งหมดที่อนุญาตให้มีการแบ่งพาร์ทิชันที่แบ่งพาร์ติชันเพิ่มเติม โดยตัวจัดกำหนดการงาน ใช้แฟล็กการติดตาม อย่างระมัดระวังเนื่องจากจะมีการแนะนำจำนวนหน่วยความจำขนาดเล็กจ่ายกับวัตถุหน่วยความจำที่แบ่งพาร์ติชันโหนNUMAทั้งหมด
หมายเหตุ หน่วยความจำ spatial วัตถุถูกสร้างขึ้นเมื่อ SqlServerSpatial110.dll ถูกโหลดไปยังพื้นที่ที่อยู่ของกระบวนการ SQL Server ในเงื่อนไขส่วนใหญ่ นี้ต้องเริ่มการทำงานของกระบวนการเซิร์ฟเวอร์ SQL เพื่อที่จะใช้ค่าสถานะการติดตามผล
ชนิดการรอCMEMTHREADจะเพิ่มสำหรับใด ๆ เธรดจำเซฟวัตถุรอ ไม่ใช่แค่วัตถุ spatial คำจำกัดความของเซสชันXEventและการใช้สัญลักษณ์สาธารณะดังต่อไปนี้สามารถใช้เพื่อระบุรหัสเฉพาะบรรทัดที่สร้างรอCMEMTHREAD :CREATE EVENT SESSION wait_stacksON SERVER
ADD EVENT sqlos.wait_info
(
action(package0.callstack)
where opcode = 1 -- wait completed
and wait_type = 191 -- CMEMTHREAD
)
add target package0.asynchronous_bucketizer (SET source_type = 1, source = 'package0.callstack'),
add target package0.ring_buffer (SET max_memory = 4096)
With (MAX_DISPATCH_LATENCY = 1 SECONDS)
Go
alter event session wait_stacks on server state = start
go
Run the repro
select event_session_address, target_name, execution_count, cast (target_data as XML)
from sys.dm_xe_session_targets xst
inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
where xs.name = 'wait_stacks'
go
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
Author: rdorr; jannaw
Writer: v-shysun
ผู้ตรวจทานด้านเทคนิค: rdorr; brellwei; ajayj; jannaw; sqlprev
Editor: