นำไปใช้กับ
SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup

Microsoft กระจายการแก้ไข Microsoft SQL Server 2008 R2 เป็นไฟล์ที่สามารถดาวน์โหลดได้ไฟล์เดียว เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละครั้งจะมีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 R2 ก่อนหน้า

อาการ

พิจารณาสถานการณ์ต่อไปนี้:

  • คุณมีตัวแบบและเอนทิตี Master Data Services (MDS) ที่มีแอตทริบิวต์ที่ใช้โดเมนใน Microsoft SQL Server 2008 R2 แอตทริบิวต์ที่ใช้โดเมนถูกออกแบบมาให้อ้างอิงถึงแอตทริบิวต์เดียวกันด้วยตนเองตัวอย่างเช่น คุณมีเอนทิตีพนักงานที่มีแอตทริบิวต์ ManagerName แอตทริบิวต์ ManagerName อ้างอิงไปยังเอนทิตีพนักงานเดียวกันหมายเหตุ ผู้จัดการเป็นพนักงานประเภทหนึ่ง

  • มีลําดับชั้นที่ได้รับที่กําหนดบนแอตทริบิวต์เพื่อแสดงความสัมพันธ์หลัก/รองแบบเรียกใช้ซ้ําสําหรับแอตทริบิวต์ที่ใช้โดเมน

  • คุณโหลดค่าข้อมูลที่มีการอ้างอิงแบบวงกลมอย่างน้อยหนึ่งการอ้างอิงไปยังตารางการจัดเตรียม MDS ลักษณะการทํางานนี้ทําให้เกิดการอ้างอิงแบบวงกลม และโหนดแรกในแอตทริบิวต์ไม่ได้เป็นส่วนหนึ่งของวงกลมตัวอย่างเช่น รูปแบบข้อมูลต่อไปนี้แสดงการอ้างอิงแบบวงกลม อย่างไรก็ตาม ค่าสมาชิก Member1 ไม่ได้เป็นส่วนหนึ่งของวงกลม:

    Member1 --manager attribute-> Member2 --manager attribute--> Member3 --manager attribute-> Member2 --manager attribute-> Member3

    insert into mdm.tblStgMemberAttribute(ModelName, EntityName, MemberType_ID, MemberCode, AttributeName, AttributeValue, Status_ID)Values ('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member3', 0),('EntityTest', 'ModelTest', 1, 'Member3', 'Manager', 'Member2', 0),('EntityTest', 'ModelTest', 1, 'Member2', 'Manager', 'Member1', 0)('EntityTest', 'ModelTest', 1, 'Member1', 'Manager', 'NULL', 0)
  • คุณใช้วิธีใดวิธีหนึ่งต่อไปนี้เพื่อโหลดค่าข้อมูลลงในเอนทิตีโดยใช้กระบวนการจัดเตรียม MDS:

    • เรียกใช้ Exec [mdm] [udpStagingSweep] กระบวนงานโดยใช้พารามิเตอร์ที่จําเป็นในการประมวลผลข้อมูลแบบกําหนดลําดับขั้น

    • คลิก การจัดการการรวม เพื่อเยี่ยมชมโฮมเพจของเว็บไซต์ MDS บนหน้า นําเข้าการส่งออก ภายใต้ส่วนหัวของส่วน ระเบียนการจัดเตรียมที่ไม่เข้าเกณฑ์ ให้คลิก ไอคอน รูปเฟือง เพื่อประมวลผลระเบียนสําหรับโมเดลและเวอร์ชันที่ระบุ

ในสถานการณ์สมมตินี้ กระบวนการแบบเบื้องหลังระหว่างกระบวนการการจัดเตรียมอาจพบการวนรอบไม่สิ้นสุดเมื่อกระบวนการพื้นหลังเรียก [mdm] ภายใน [udpMemberRecursiveCircularCheck] กระบวนงาน

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากกระบวนการ udpStagingSweep และ udpStagingMemberAttributeSave เรียกกระบวนการ udpMemberRecursiveCircularCheck หนึ่งครั้งสําหรับแต่ละแถวการจัดเตรียม ลักษณะการทํางานนี้ควรตรวจสอบค่าแอตทริบิวต์ที่ยึดตามโดเมน และส่งกลับข้อผิดพลาดถ้าแถวการจัดเตรียมทําให้เกิดการอ้างอิงแบบวงกลมพร้อมกับข้อมูลที่มีอยู่ หลังจากแถวการจัดเตรียมทั้งหมดได้รับการตรวจสอบ คุณจะได้รับผลลัพธ์ต่อไปนี้:

  • แถวการจัดเตรียมที่ไม่มีข้อผิดพลาดจะถูกนําไปใช้

  • แถวการจัดเตรียมที่มีข้อผิดพลาดจะถูกบันทึกด้วยรหัสข้อผิดพลาด

หากเงื่อนไขที่อธิบายไว้ในส่วน "อาการ" เป็นจริง [mdm] [udpMemberRecursiveCircularCheck] กระบวนงานวนรอบอย่างไม่มีกําหนดจนกว่าทรัพยากรเซิร์ฟเวอร์จะหมดหรือหมดเวลา

การแก้ไข

ข้อมูลโปรแกรมอัปเดตสะสม

SQL Server 2008 R2 Service Pack 1

การแก้ไขสําหรับปัญหานี้ถูกนําออกใช้ครั้งแรกในการอัปเดตสะสม 4 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 SP1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2633146 แพคเกจการอัปเดตสะสม 4 สําหรับ SQL Server 2008 R2 Service Pack 1Note เนื่องจากรุ่นต่างๆ เป็นแบบสะสม แต่ละการเผยแพร่การแก้ไขใหม่จะมีการแก้ไขด่วนทั้งหมดและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่กับการเผยแพร่การแก้ไข 2008 R2 SP1 SQL Server ก่อนหน้านี้ เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขรุ่นล่าสุดที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

2567616 รุ่น SQL Server 2008 R2 ที่เผยแพร่หลังจากเผยแพร่ SQL Server 2008 R2 Service Pack 1

สถานะ

Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ใช้หนึ่งในวิธีต่อไปนี้:

  • เพื่อป้องกันปัญหา ให้ทําตามขั้นตอนต่อไปนี้:

    1. ตรวจสอบค่าข้อมูลสมาชิกที่จะถูกแทรกลงในตารางการจัดเตรียมด้วยตนเองก่อนที่คุณจะเรียกใช้กระบวนการจัดเตรียม

    2. ตรวจสอบให้แน่ใจว่าค่าสมาชิกทั้งหมดสําหรับแอตทริบิวต์ที่ใช้โดเมนไม่มีการอ้างอิงแบบวงกลมที่อธิบายไว้ในส่วน "อาการ"

  • เมื่อมีปัญหาที่อธิบายไว้ในส่วน "อาการ" เกิดขึ้น ให้ทําตามขั้นตอนเหล่านี้เพื่อแก้ไขปัญหา:

    1. ระบุเซสชันที่กําลังทํางานในการวนรอบที่ไม่สิ้นสุด

    2. ฆ่าเซสชันเพื่อหยุดการวนรอบ

    3. ลบค่าการอ้างอิงแบบวงกลมออกจากตารางการจัดเตรียมก่อนที่จะประมวลผลการอ้างอิงแบบวงกลมอีกครั้ง

หมายเหตุ

  • เมื่อต้องการระบุเซสชันที่จะหยุด ใช้หนึ่งในวิธีต่อไปนี้:

    • ใช้การตรวจสอบกิจกรรมใน Microsoft SQL Server Management Studio

    • เลือกจาก sys.sysprocesses หรือมุมมองการจัดการแบบไดนามิก (DMV) sys.dm_exec_requests เพื่อระบุเซสชันที่ทํางานภายในฐานข้อมูล MDS ซึ่ง CPU และเวลาจะเพิ่มขึ้นอย่างรวดเร็ว ตรวจสอบให้แน่ใจว่า แบบสอบถามปัจจุบันที่กําลังทํางานบนเซสชันตรงกับชื่อกระบวนงานที่อธิบายไว้ในส่วน "สาเหตุ"

  • เมื่อต้องการระบุกระบวนการที่กําลังทํางานอยู่ในขณะนี้สําหรับเซสชัน ให้ใช้หนึ่งในวิธีต่อไปนี้:

    • คลิกขวาที่เมนู รายละเอียด บนแต่ละกระบวนการในการตรวจสอบกิจกรรมที่แสดงรายการ

    • ใช้พารามิเตอร์อย่างใดอย่างหนึ่งต่อไปนี้:

      • คําสั่ง DBCC INPUTBUFFER (spid) พร้อมด้วยรหัสเซสชัน

      • ฟังก์ชัน SELECT * FROM sys.dm_exec_sql_text(sqlhandle) พร้อมด้วยพารามิเตอร์จุดจับ SQL ที่ตรงกันเมื่อคุณใช้ผลลัพธ์ DMV

อ้างอิง

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเปิดการตรวจสอบกิจกรรมใน SQL Server Management Studio ไปที่เว็บไซต์ MSDN ต่อไปนี้:

วิธีการเปิดการตรวจสอบกิจกรรมใน SQL Server Management Studioสําหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์ KILL แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับไวยากรณ์ KILLสําหรับข้อมูลเพิ่มเติมเกี่ยวกับ sys.dm_exec_requests DMV แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับ DMV sys.dm_exec_requestsสําหรับข้อมูลเพิ่มเติมเกี่ยวกับ DMV sys.dm_exec_sql_text แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับ sys.dm_exec_sql_text DMVสําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําสั่ง DBCC INPUTBUFFER แวะไปที่เว็บไซต์ต่อไปนี้ของ MSDN:

ข้อมูลทั่วไปเกี่ยวกับคําสั่ง DBCC INPUTBUFFERสําหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการให้บริการแบบเพิ่มเติมสําหรับ SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

935897 รูปแบบการให้บริการแบบเพิ่มเติมจะพร้อมใช้งานจากทีม SQL Server เพื่อส่งการแก้ไขด่วนสําหรับปัญหาที่รายงานสําหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการตั้งชื่อสําหรับการอัปเดต SQL Server ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

822499 รูปแบบการตั้งชื่อใหม่สําหรับแพคเกจอัปเดตซอฟต์แวร์ของ Microsoft SQL Server สําหรับข้อมูลเพิ่มเติมเกี่ยวกับคําศัพท์เฉพาะของการอัปเดตซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:

824684 คําอธิบายเกี่ยวกับคําศัพท์มาตรฐานที่ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์ของ Microsoft

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ