ينطبق هذا الإصلاح العاجل أيضا علي Microsoft SQL Server 2014 Analysis Services (SSAS 2014).
الأعراض
افترض ان لديك بعض الابعاد في Tfs_Analysis مكعب Microsoft SQL Server 2012 Analysis Services (SSAS 2012) أو SQL Server 2014 Analysis Services (SSAS 2014) التي تحتوي علي البيانات الخاصة ب Microsoft Visual Studio Team Foundation Server (TFS). عند تشغيل أمر عمليه بالمقابلة مع الابعاد ، قد تفشل عمليه المعالجة ، وتتلقي رسالة الخطا التالية:
خطا داخلي: حدث خطا غير متوقع (ملف ' بفيالوكاتور ' ، line 822 ، الدالة ' بفميموريهولدير:: ريجيستيرميموريهولدير ').
إذا كنت تستخدم محلل SQL لتتبع المشكلة ، سيظهر الخيار trace ظهور رسالة الخطا التالية اثناء الأمر بروسيسفول علي البعد الفديمووركيتيمتريوفيرلاي :
خطا داخلي: حدث خطا غير متوقع (ملف ' بفيالوكاتور ' ، line 822 ، الدالة ' بفميموريهولدير:: ريجيستيرميموريهولدير '). الأخطاء في محرك تخزين OLAP: حدث خطا اثناء معالجه السمة ' ووركيتيمتريسك ' لبعد "شجره عناصر العمل" من قاعده بيانات ' Tfs_Analysis '.
ملاحظه يؤثر فشل المعالجة علي تصميمات قواعد بيانات Analysis Services التي تحتوي علي مصادر البيانات التي استخدمت موفر بيانات .NET Framework المدار ل SQL Server ، وهو عبارة عن سقلكلينت.
السبب
تحدث هذه المشكلة نظرا لأنه يتم استخدام قيمه مفتاح البعد المكررة في مصدر البيانات بواسطة معالجه Analysis Services.
الحل
تم تصحيح المشكلة أولا في التحديث التراكمي التالي ل SQL Server.
تحديث تراكمي 1 ل SQL Server 2014 /en-us/help/2931693
تحديث تراكمي 6 ل SQL Server 2012 SP1 /en-us/help/2874879
يحتوي كل تحديث تراكمي جديد ل SQL Server علي كل الإصلاحات العاجلة وكل تصحيحات الأمان التي تم تضمينها في التحديث التراكمي السابق. اطلع علي آخر التحديثات التراكمية ل SQL Server:
مزيد من المعلومات
بعد تطبيق الإصلاح العاجل ، ستعمل المعالجة وفقا لإعدادات تكوين الأخطاء الخاصة بالمعالجة بدلا من الظهور وفقا لاعراض الخطا الداخلية. يمكنك التحكم في السلوك باستخدام الاعداد مفتاح مكرر عند معالجه ابعاد SSAS. أو يمكنك التحكم في السلوك بتكوين خاصيه كيدوبليكاتي لخاصيه اروركونفيجوريشن كما يلي عند تصميم الابعاد:
-
عند تعيين اعداد كيدوبليكاتي إلى الاعداد الافتراضي إيجنوريرور، لا توجد إيه تحذيرات عند مصادفه قيمه مفتاح مكرره ، وتستمر المعالجة.
-
عند تعيين الاعداد كيدوبليكاتي إلى ريبورتاندكونتينوي ، يتم الإبلاغ عن الأخطاء أو التحذيرات. ومع ذلك ، تستمر المعالجة.
-
عند تعيين الاعداد كيدوبليكاتي إلى ريبورتاندستوب، يتم الإبلاغ عن الأخطاء أو التحذيرات ، ويتم إيقاف المعالجة.
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
الحل البديل
لحل هذه المشكلة ، احذف المفتاح مكرر غير صالح في جداول ابعاد مستودع البيانات في مشغل قاعده بيانات SQL Server. يمكنك استخدام الاستعلام التالي للعثور علي المفتاح المكرر:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
المراجع
للحصول علي مزيد من المعلومات حول خيارات المعالجة والإعدادات ، انتقل إلى موقع MSDN التالي علي الويب:
معلومات حول خيارات المعالجة والإعداداتللحصول علي مزيد من المعلومات حول كيفيه معالجه المستودع أو المكعب يدويا ، انتقل إلى موقع MSDN التالي علي الويب:
معالجه مستودع البيانات ومكعب Analysis Services يدويا لخادم أساس الفريق