โปรแกรมแก้ไขด่วนนี้ยังนำไปใช้กับ Microsoft SQL Server ๒๐๑๔ Analysis Services (SSAS ๒๐๑๔)
อาการ
สมมติว่าคุณมีบางมิติใน Microsoft SQL Server ๒๐๑๒ Analysis Services (SSAS ๒๐๑๒) หรือ SQL Server ๒๐๑๔ Analysis Services (SSAS ๒๐๑๔) cube (Tfs_Analysis) ที่มีข้อมูลสำหรับ Microsoft Visual Studio Team Foundation Server (TFS) เมื่อคุณเรียกใช้คำสั่ง กระบวนการ กับขนาดการประมวลผลอาจล้มเหลวและคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดภายใน: มีข้อผิดพลาดที่ไม่คาดคิดเกิดขึ้น (ไฟล์ ' pfiallocator ', line ๘๒๒, ฟังก์ชัน ' PFMemoryHolder:: RegisterMemoryHolder ')
ถ้าคุณใช้ Profiler SQL เพื่อติดตามปัญหาการติดตามแสดงว่าข้อความแสดงข้อผิดพลาดต่อไปนี้เกิดขึ้นในระหว่างการ ProcessFull คำสั่งบนมิติ vDimWorkItemTreeOverlay :
ข้อผิดพลาดภายใน: มีข้อผิดพลาดที่ไม่คาดคิดเกิดขึ้น (ไฟล์ ' pfiallocator ', line ๘๒๒, ฟังก์ชัน ' PFMemoryHolder:: RegisterMemoryHolder ') ข้อผิดพลาดในกลไกจัดการที่เก็บข้อมูล OLAP: มีข้อผิดพลาดเกิดขึ้นในขณะที่แอตทริบิวต์ ' WorkItemTreeSK ' ของมิติ ' รายการงาน ' ' จากฐานข้อมูล ' Tfs_Analysis ' ถูกประมวลผล
บันทึกย่อ ความล้มเหลวในการประมวลผลมีผลต่อการออกแบบฐานข้อมูล Analysis Services ที่มีแหล่งข้อมูลที่ใช้ตัวให้บริการข้อมูล .NET Framework ที่ได้รับการจัดการสำหรับ SQL Server ซึ่งเป็นข้อมูล SqlClient
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากค่าคีย์มิติที่ซ้ำกันในแหล่งข้อมูลจะถูกใช้โดยการประมวลผลของ Analysis Services
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ครั้งแรก
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๔ /en-us/help/2931693
การอัปเดตที่สะสม6สำหรับ SQL Server ๒๐๑๒ SP1 /en-us/help/2874879
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
ข้อมูลเพิ่มเติม
หลังจากที่คุณนำโปรแกรมแก้ไขด่วนการประมวลผลจะทำงานตามการตั้งค่าการกำหนดค่าข้อผิดพลาดการประมวลผลแทนที่จะเป็นไปตามอาการของข้อผิดพลาดภายใน คุณสามารถควบคุมลักษณะการทำงานได้โดยใช้การตั้งค่า คีย์ซ้ำ เมื่อคุณประมวลผลขนาด SSAS หรือคุณสามารถควบคุมลักษณะการทำงานได้โดยการกำหนดค่าคุณสมบัติ KeyDuplicate ของคุณสมบัติ ErrorConfiguration ดังต่อไปนี้เมื่อคุณออกแบบมิติ:
-
เมื่อการตั้งค่า KeyDuplicate ถูกตั้งค่าเป็น IgnoreErrorการตั้งค่าเริ่มต้นจะไม่มีคำเตือนเมื่อพบค่าคีย์ที่ซ้ำกันและการประมวลผลต่อเนื่อง
-
เมื่อการตั้งค่า KeyDuplicate ถูกตั้งค่าเป็น ReportAndContinue ข้อผิดพลาดหรือคำเตือนจะถูกรายงาน อย่างไรก็ตามการประมวลผลต่อเนื่อง
-
เมื่อการตั้งค่า KeyDuplicate ถูกตั้งค่าเป็น ReportAndStopข้อผิดพลาดหรือคำเตือนจะได้รับการรายงานและการประมวลผลหยุดทำงาน
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ให้ลบคีย์ซ้ำที่ไม่ถูกต้องในตารางมิติคลังสินค้าของข้อมูลใน SQL Server Database Engine คุณสามารถใช้คิวรีต่อไปนี้เพื่อค้นหาคีย์ที่ซ้ำกัน:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
อ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการประมวลผลและการตั้งค่าให้ไปที่เว็บไซต์ MSDN ต่อไปนี้:
ข้อมูลเกี่ยวกับตัวเลือกการประมวลผลและการตั้งค่าสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการประมวลผลคลังสินค้าหรือคิวบ์ด้วยตนเองให้ไปที่เว็บไซต์ MSDN ต่อไปนี้:
ดำเนินการด้วยตนเองข้อมูลคลังสินค้าและคิวบ์ Analysis Services สำหรับทีมมูลฐาน Server