फिक्स: माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में एक विलय प्रतिकृति समय का सिंक्रोनाइजेशन ऑपरेशन

लागू: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise Edition

बग #: 50002786 (SQL Hotfix)
माइक्रोसॉफ्ट माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 को एक डाउनलोड करने योग्य फ़ाइल के रूप में सुधार करता है। क्योंकि सुधार संचयी हैं, प्रत्येक नई रिलीज में सभी हॉटफिक्स और सभी सुरक्षा सुधार शामिल हैं जो पिछले एसक्यूएल सर्वर 2005 फिक्स रिलीज के साथ शामिल थे।

लक्षण


निम्नलिखित परिदृश्य पर विचार करें। माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में, आप एक मर्ज प्रतिकृति कॉन्फ़िगर करते हैं। फिर, आप स्नैपशॉट को किसी ग्राहक को तैनात करते हैं। इस परिदृश्य में, जब आप डेटा को सिंक्रोनाइज करने के लिए मर्ज एजेंट चलाते हैं, तो ऑपरेशन का समय तब होता है जब मर्ज एजेंट sp_MSmakegeneration संग्रहीत प्रक्रिया को कॉल करता है। इसके अतिरिक्त, जब आप ऑपरेशन के समय के बाद ग्राहक के दोहराए गए डेटाबेस के खिलाफ निम्नलिखित विवरण चलाते हैं, तो क्वेरी कुछ रिकॉर्ड देता है जो इस मुद्दे के लिए अतिसंवेदनशील होते हैं:
select * from dbo.MSmerge_genhistory gh where not exists       (select * from dbo.MSmerge_contents as mc       where mc.generation = gh.generation)and not exists      (select * from dbo.MSmerge_tombstone as ts       where ts.generation = gh.generation)and genstatus = 0union select * from dbo.MSmerge_genhistory gh where exists       (select * from dbo.MSmerge_contents as mc      where mc.generation = gh.generation      and mc.tablenick <> gh.art_nick)or exists      (select * from dbo.MSmerge_tombstone as ts      where ts.generation = gh.generation      and ts.tablenick <> gh.art_nick)and genstatus = 0

कारण


यह समस्या इसलिए होती है क्योंकि MSmerge_genhistory तालिका में एक पंक्ति होती है जो निम्नलिखित शर्तों में से एक को पूरा करती है:
  • पीढ़ी में कोई परिवर्तन नहीं है कि MSmerge_tombstone तालिका में या MSmerge_contents तालिका में इसे मैप कर रहे हैं ।
  • एक या एक से अधिक पंक्तियों कि पीढ़ी के लिए मैप कर रहे है MSmerge_tombstone तालिका में या MSmerge_contents तालिका में tablenick कॉलम में एक गलत मूल्य है ।
इस स्थिति के कारण sp_MSmakegeneration संग्रहीत प्रक्रिया अनंत पाश में चली जाती है।

समाधान


इस मुद्दे के लिए फिक्स पहले संचयी अद्यतन 8 में जारी किया गया था । एसक्यूएल सर्वर 2005 सर्विस पैक 2 के लिए इस संचयी अपडेट पैकेज को कैसे प्राप्त करें, इसबारे में अधिक जानकारी के लिए, Microsoft नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
951217 संचयी अद्यतन पैकेज 8 एसक्यूएल सर्वर 2005 सेवा पैक 2 के लिए
नोट क्योंकि बनाता संचयी हैं, प्रत्येक नए फिक्स रिलीज में सभी हॉटफिक्स और सभी सुरक्षा सुधार शामिल हैं जो पिछले एसक्यूएल सर्वर 2005 फिक्स रिलीज के साथ शामिल थे। माइक्रोसॉफ्ट की सिफारिश है कि आप सबसे हाल ही में तय रिलीज है कि इस hotfix शामिल लागू करने पर विचार करें । अधिक जानकारी के लिए, माइक्रोसॉफ्ट नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
937137 एसक्यूएल सर्वर 2005 बनाता है जो एसक्यूएल सर्वर 2005 सेवा पैक 2 के बाद जारी किया गया था
माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 हॉटफिक्स विशिष्ट एसक्यूएल सर्वर सेवा पैक के लिए बनाए गए हैं। आपको एसक्यूएल सर्वर 2005 सर्विस पैक 2 की स्थापना के लिए एसक्यूएल सर्वर 2005 सर्विस पैक 2 हॉटफिक्स लागू करना होगा। डिफ़ॉल्ट रूप से, एसक्यूएल सर्वर सेवा पैक में प्रदान की जाने वाली कोई भी हॉटफिक्स अगले एसक्यूएल सर्वर सेवा पैक में शामिल है।

समाधान


इस समस्या के आसपास काम करने के लिए, इन चरणों का पालन करें:
  1. सिंक्रोनाइजेशन ऑपरेशन रद्द करें जो पूरा नहीं हुआ है।
  2. प्रकाशन के लिए generation_leveling_threshold सेटिंग प्राप्त करने के लिए निम्नलिखित बयान चलाएं:
    use <Publication Database Name>goexec sp_helpmergepublication @publication = '<Publication Name>'
    generation_leveling_threshold सेटिंग के मूल्य पर ध्यान दें।
  3. उत्पादन समतल और उत्पादन को एकजुट करने को अक्षम करने के लिए निम्नलिखित बयान चलाएं:
    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = 0
  4. प्रकाशन के लिए डेटा सिंक्रोनाइज करें।
  5. सिंक्रोनाइजेशन सफलतापूर्वक पूरा होने के बाद, generation_leveling_threshold को उस मूल्य पर वापस सेट करें जिसे आपने चरण 2 में नोट किया था। ऐसा करने के लिए, निम्नलिखित बयान चलाएं:
    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = <Value>
इस समस्या के आसपास काम करने के लिए इस विधि का उपयोग करने के बाद, यदि कोई अन्य ग्राहक पीढ़ी को संसाधित करने की कोशिश करता है तो यह समस्या फिर से घटित होगी। समस्या का सामना करने वाले सभी ग्राहकों के लिए आपको इन चरणों को दोहराना होगा।

स्थिति


माइक्रोसॉफ्ट ने पुष्टि की है कि यह माइक्रोसॉफ्ट के उत्पादों में एक समस्या है जो "लागू होता है" अनुभाग में सूचीबद्ध हैं।

अधिक जानकारी


फ़ाइलों को क्या बदला जाता है, इसके बारे में अधिक जानकारी के लिए, और संचयी अपडेट पैकेज लागू करने के लिए किसी भी आवश्यकता के बारे में जानकारी के लिए जिसमें इस Microsoft नॉलेज बेस लेख में वर्णित हॉटफिक्स शामिल है, देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें माइक्रोसॉफ्ट नॉलेज बेस में लेख:
951217 संचयी अद्यतन पैकेज 8 एसक्यूएल सर्वर 2005 सेवा पैक 2 के लिए

संदर्भ


एसक्यूएल सर्वर सर्विस पैक 2 के बाद उपलब्ध बिल्ड की सूची के बारे में अधिक जानकारी के लिए, Microsoft नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
937137 एसक्यूएल सर्वर 2005 बनाता है जो एसक्यूएल सर्वर 2005 सेवा पैक 2 के बाद जारी किया गया था
एसक्यूएल सर्वर के लिए वृद्धिशील सर्विसिंग मॉडल के बारे में अधिक जानकारी के लिए, माइक्रोसॉफ्ट नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
935897 एक वृद्धिशील सर्विसिंग मॉडल एसक्यूएल सर्वर टीम से उपलब्ध है रिपोर्ट की गई समस्याओं के लिए हॉटफिक्स वितरित करने के लिए
एसक्यूएल सर्वर 2005 सर्विस पैक 2 कैसे प्राप्त करें, इसके बारे में अधिक जानकारी के लिए, Microsoft नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
913089 एसक्यूएल सर्वर 2005 के लिए नवीनतम सेवा पैक कैसे प्राप्त करें
नई सुविधाओं और एसक्यूएल सर्वर 2005 सेवा पैक 2 में सुधार के बारे में अधिक जानकारी के लिए, निम्नलिखित माइक्रोसॉफ्ट वेब साइट पर जाएं:एसक्यूएल सर्वर अपडेट के लिए नामकरण स्कीमा के बारे में अधिक जानकारी के लिए, माइक्रोसॉफ्ट नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
822499 माइक्रोसॉफ्ट एसक्यूएल सर्वर सॉफ्टवेयर अपडेट पैकेज के लिए नई नामकरण स्कीमा
सॉफ्टवेयर अपडेट शब्दावली के बारे में अधिक जानकारी के लिए, माइक्रोसॉफ्ट नॉलेज बेस में लेख देखने के लिए निम्नलिखित लेख संख्या पर क्लिक करें:
824684 मानक शब्दावली का विवरण जिसका उपयोग माइक्रोसॉफ्ट सॉफ्टवेयर अपडेट का वर्णन करने के लिए किया जाता है