आप Microsoft Dynamics CRM में अभिलेख हटाएँ करते हुए त्रुटि संदेश: "त्रुटि: हटाने सेवा विफल कुछ तालिकाएँ साफ़ करें करने के लिए"


लक्षण


जब Microsoft Dynamics CRM में एक रिकॉर्ड हटाते हैं, तो अनुप्रयोग लॉग में निम्न त्रुटि संदेश लॉग हो सकती हैं:
इवेंट प्रकार: त्रुटि
इवेंट स्रोत: MSCRMDeletionService
इवेंट श्रेणी: कोई नहीं

घटना का पता: 16387
दिनांक: दिनांक
समय: समय
उपयोगकर्ता हूँ: n/a

कंप्यूटर: Computer_Name
वर्णन:
त्रुटि: कुछ तालिकाएँ साफ़ करें करने के लिए हटाने सेवा विफल रही।

कारण


यह समस्या होती है क्योंकि एंटिटी रिकॉर्ड हटाया जा रहा है जो तालिका पर कोई प्रतिबंध नहीं है। साथ ही, उपयोगकर्ता रिकॉर्ड को हटाता है जो सभी संबंधित रिकॉर्ड को हटाने के लिए अधिकार न हो।

उदाहरण के लिए, मान लें कि आपके पास केवल संपर्क को हटाने के लिए अधिकार है। आप तीन मामलों के साथ संबद्ध है जो किसी संपर्क को हटाने के लिए प्रयास करें। Microsoft Dynamics CRM में संपर्क निकाय और मामला एंटिटी के बीच संबंध कैस्केड "कैस्केड हटाएँ करने के लिए सभी." सेट किया गया है इसलिए, संपर्क रिकॉर्ड करने के लिए Microsoft Dynamics CRM डेटाबेस में हटाने स्थिति सेट किया गया है। हालाँकि, यदि आप मामलों को हटाने के लिए अधिकार नहीं है। इसलिए, हटाएँ स्थिति वाले मामला रिकॉर्ड पर सेट नहीं है। जब हटाने सेवा संपर्क रिकॉर्ड को हटाने का प्रयास करता है, तो तीन मौजूदा मामलों संपर्क करने के लिए असाइन किए गए हैं क्योंकि कोई बाधा वह हटाने ब्लॉक किया है। सफलतापूर्वक इस रिकॉर्ड को हटाने के लिए, आपको बाधा विरोध के कारण रिकॉर्ड हटाना होगा।

समाधान


इस समस्या को हल करने के लिए, निम्न चरणों का पालन करें।

नोट इससे पहले कि आप इस आलेख में दिए गए निर्देशों का पालन करें, सुनिश्चित करें कि आपके पास कोई समस्या आती है, तो आप पुनर्स्थापित कर सकते हैं जो डेटाबेस की एक पूर्ण बैकअप प्रतिलिपि है।

जहाँ हटाने सेवा विफल तालिका को पहचानने के लिए, निम्न चरणों का पालन करें:
  1. Microsoft Dynamics CRM सर्वर पर, प्रारंभक्लिक करें, क्लिक करें
    चलाएँ, cmdटाइप करें, और उसके बाद क्लिक करें
    OK.
  2. कमांड प्रॉम्प्ट पर, निर्देशिकाcrmdeletionservice.exe – runonceटाइप करें, और उसके बाद ENTER दबाएँ।

    नोट डिफ़ॉल्ट रूप से, Crmdeletionservice.exe फ़ाइल ड्राइवमें स्थित होती है: Dynamics CRM\server\bin निर्देशिका \program files\Microsoft.

    उसके बाद, आपको निम्न संदेश के जैसा एक संदेश प्राप्त होता है:
    निम्न तालिकाएँ साफ़ करें नहीं कर सकता: अभियान
    नोट तालिका में संदेश दिया जाता है जिसके लिए हटाने सेवा विफल तालिका है।
निम्न उदाहरण प्रदर्शित करता है कि कैसे अभियान तालिका के लिए इस समस्या को हल करने के लिए।

अभियान तालिका के लिए समस्या को हल करने के लिए, निम्न चरणों का पालन करें:
  1. किसी कथन SQL क्वेरी विश्लेषक में चलाएँ। ऐसा करने के लिए, निम्न चरणों का पालन करें:
    1. प्रारंभक्लिक करें, सभी प्रोग्रामको इंगित करें, Microsoft SQL Serverको इंगित करें, और उसके बाद क्वेरी विश्लेषक
    2. के विरुद्ध निम्न क्वेरी चलाएँ
      संगठन का नाम_MSCRM डेटाबेस।

      नोट OrganizationName वास्तविक संगठन नाम के लिए प्लेसहोल्डर है।
      delete from Campaign where DeletionStateCode = 2
      इस क्वेरी जो निम्न संदेश के जैसा एक संदेश देता है:
      हटाएँ कथन स्तंभ संदर्भ बाधा 'campaign_leads' के साथ विरोध हुआ। डेटाबेस'OrganizationName_MSCRM', तालिका 'LeadBase', 'CampaignId' स्तंभ में विरोध उत्पन्न हुई। कथन बंद कर दिया गया है।
  2. दूर वाले रिकॉर्ड्स को बाधा विरोध कथन निम्न के जैसा एक कथन का उपयोग करते हुए उत्पन्न कर रहे हैं।
    Update LeadBase set CampaignId=null WHERE CampaignId IN (SELECT CampaignId FROM CampaignBase WHERE DeletionStateCode = 2)
    नोट तालिका और फ़ील्ड में कथन का उपयोग करें जो आपने पहले इस अनुभाग में चरण 1b में प्राप्त किए गए संदेश पर निर्भर करते हैं। इस उदाहरण में, आप अभियान हटाने के लिए चिह्नित किया गया है, यदि नल करने के लिए LeadBase तालिका में CampaignId फ़ील्ड सेट कर रहे हैं।
  3. सभी तालिकाएँ सही किया गया है सत्यापित करने के लिए निम्न आदेश चलाएँ।
    crmdeletionservice.exe –runonce 
    यदि आप अभी भी समस्या आ रही हैं, तो चरण 1 से 3 अन्य बाधाओं को सही करने के लिए पहले इस अनुभाग में दोहराएँ।