आप एक डेटाबेस या SQL Server 2005 विश्लेषण सेवा में कोई घन संसाधित करने का प्रयास करते समय त्रुटि संदेश: "विशेषता कुंजी ढूँढा नहीं जा सकता" और "विशेषता कुंजी नहीं मिला क्योंकि रिकॉर्ड छोड़ी गई थी"


लक्षण


Microsoft SQL Server 2005 विश्लेषण सेवा में, आप SQL Server व्यवसाय इंटेलिजेंस डेवलपमेंट Studio या SQL सर्वर प्रबंधन स्टूडियो का उपयोग कर एक डेटाबेस या किसी घन संसाधित करने का प्रयास करें। हालाँकि, प्रक्रिया कार्रवाई विफल रहता है, और आपको निम्न त्रुटि संदेश प्राप्त होता है:
त्रुटि संदेश 1
OLAP संग्रहण इंजन में त्रुटि: विशेषता कुंजी ढूँढा नहीं जा सकता: तालिका: TableName, स्तंभ: ColumnName1, मान: Value1. तालिका: TableName, स्तंभ: ColumnName2, मान: Value2.
त्रुटि संदेश 2
OLAP संग्रहण इंजन में त्रुटि: विशेषता कुंजी नहीं मिला क्योंकि रिकॉर्ड छोड़ी गई थी। विशेषता: विशेषता आयाम के X जनरेट किया गया: डेटाबेस से DimensionName : DatabaseName, घन: CubeName, माप समूह: MeasureGroupName, विभाजन: PartitionName, रिकॉर्ड: अभिलेख संख्या

कारण


एक तथ्य तालिका किसी घन के लिए कोई विशेषता कुंजी वाले एक या अधिक रिकॉर्ड है क्योंकि यह समस्या होती है, और संबंधित आयाम तालिका में इस विशेषता कुंजी मौजूद नहीं है। यह व्यवहार हो सकता है जब आप संबंधित आयाम घन संसाधित करने से पहले या जब अंतर्निहित तालिकाओं में वास्तव में बेमेल डेटा होनी संसाधित है नहीं है। यदि "मान:" संदेश में फ़ील्ड है कोई संख्या इसके बाद, तथ्य तालिका में नल डेटा होना चाहिए।

समाधान


इस समस्या को हल करने के लिए, आप जाँच करना चाहिए कि आपके डेटा स्रोत निम्न स्थान पर इंगित करता:
  • सही अंतर्निहित डेटा स्रोत आवृत्ति, जैसे कि SQL सर्वर 2005 की आवृत्ति
  • सही डेटाबेस।
फिर, समस्या पैदा करने वाले विशेषता कुंजी वाले अंतर्निहित रिकॉर्ड को सही करें। ऐसा करने के लिए, निम्न विधियों में से एक का उपयोग करें।

कोई मौजूदा विशेषता कुंजी का उपयोग करें

कोई मौजूदा विशेषता का उपयोग करने के लिए अभिलेख अद्यतन एक कथन चला कर कुंजी निम्न के जैसा होता है:
Update <TableName> set <KeyName>=<ExistingKeyValue> where <KeyName>=<BadKeyValue> or <KeyName> IS NULL

कुंजी तथ्य तालिका में मानों से मेल खाते

कुंजी तथ्य तालिका में मानों से मेल करने के लिए आयाम तालिका में अतिरिक्त पंक्तियाँ सम्मिलित करें। नल मान मौजूद हैं, तो निम्न विधियों में से एक का उपयोग करें:
  • वास्तविक मान के साथ नल मान को बदलें।
  • आयाम या आयाम एक अज्ञात सदस्य UnknownMember और UnknownMemberName गुण सेट करने के लिए कॉन्फ़िगर करें। आप अपनी आवश्यकताओं के आधार पर या तो दृश्यमान या छुपा हुआ अज्ञात सदस्य कर सकते हैं। अज्ञात सदस्य को परिभाषित करने के तरीके के बारे में अधिक जानकारी के लिए, निम्न Microsoft डेवलपर नेटवर्क (MSDN) वेब साइट पर जाएँ:
  • सेटिंग्स परिवर्तित करें संवाद बॉक्स में सभी निम्न सेटिंग्स का उपयोग करें:
    • ConvertToUnknownके लिए KeyErrorAction गुण सेट करें।
    • NullKeyNotAllowed गुण IgnoreError या ReportAndContinueसेट करें।
    • NullKeyConvertedtoUnknown गुण IgnoreError या ReportAndContinueसेट करें।
    • त्रुटि संख्या पर ध्यान न देंक्लिक करें।
    क्या आप ये सेटिंग्स आवृत्ति-वाइड सेट कर सकते हैं, या आप प्रत्येक आयाम के लिए कोई कस्टम कॉन्फ़िगरेशन का उपयोग कर सकते है।

त्रुटि पर ध्यान न दें

आप डेटा दूर करने के बिना डेटाबेस या घन प्रक्रिया करने के लिए चाहते हैं, तो आपको त्रुटि पर ध्यान न दें करने के लिए प्रक्रिया कार्रवाई के लिए त्रुटि कॉन्फ़िगरेशन सेट कर सकते हैं। जब आप अंतर्निहित डेटा ठीक करें आपको यह केवल एक अस्थाई हल के रूप में करना चाहिए। अन्यथा, आप अपने एकाधिकआयाम अभिव्यक्तियाँ (MDX) क्वेरीज़ से अनपेक्षित परिणाम प्राप्त हो सकता है। त्रुटियों पर ध्यान न दें करने के लिए, निम्न चरणों का पालन करें:
  1. प्रक्रिया डेटाबेस – DatabaseName संवाद बॉक्स या प्रक्रिया घन – CubeName संवाद बॉक्स में, सेटिंग्स बदलेंक्लिक करें।
  2. सेटिंग्स परिवर्तित करें संवाद बॉक्स में, कुंजी त्रुटियाँ आयाम टैब पर क्लिक करें।
  3. कस्टम त्रुटि कॉन्फ़िगरेशन का उपयोग करेंक्लिक करें।
  4. कुंजी नहीं मिली सूची में, डिफ़ॉल्ट मान से बदलें रिपोर्ट और जारी त्रुटि पर ध्यान न देंकरने के लिए।
  5. त्रुटि संख्या पर ध्यान न देंक्लिक करें।
  6. सेटिंग्स परिवर्तित करें संवाद बॉक्स को बंद करने के लिए ठीक क्लिक करें।
  7. डेटाबेस या घन प्रक्रिया करने के लिए ठीक क्लिक करें।
साथ ही, आपको घन या त्रुटि पर ध्यान न दें करने के लिए, उस पार्टीशन के लिए त्रुटि कॉन्फ़िगरेशन सेट कर सकते हैं। अधिक जानकारी के लिए, निम्न MSDN वेब साइट पर जाएँ:

स्थिति


यह व्यवहार डिज़ाइन के अनुसार है।