2012-11-20 13 views
6

मैं जिस तरह से ज्यादातर मिल गया है की एक अलग उदाहरण में एक डेटाबेस पुनर्स्थापित कर रहा है लेकिन वहाँ कहीं एक अनुमतियाँ मुद्दा हो रहा है:tridion

से पहले सब कुछ बहाल अपने लक्षित वातावरण में ठीक काम कर रहा है - लक्ष्य एक सर्वर लॉगिन है खाता TCMDBUser जो मेरे tridion_cm डेटाबेस उपयोगकर्ता को मैप किया गया है TCMDBUser

मेरा स्रोत tridion_cm डेटाबेस में उपयोगकर्ता TCMDBUser_DEV है।

स्रोत को बहाल करने के बाद। मेरे लक्ष्य में बीकएमडीबीयूसर_डीवी अनाथ है।

मैं MTSUser और मेरे व्यवस्थापक से लॉग इन खातों को सही करने के लिए अपने लक्ष्य पर्यावरण के लिए न्यासी तालिका को संपादित करने और चलाने मेरी अनाथ डेटाबेस उपयोगकर्ता अप ठीक करने के लिए निम्नलिखित:

sp_change_users_login @Action='update_one', 
@UserNamePattern='TCMDBUser_DEV', 
@LoginName='TCMDBUser' 
GO 

मैं Tridion एक्सप्लोरर में वापस लॉग इन और देख सकते हैं प्रकाशनों की उम्मीद की सूची और वृक्ष संरचना के माध्यम से चल सकता है लेकिन जब मैं एक फ़ोल्डर में आ आइटम मैं त्रुटि के साथ कुछ भी नहीं देख शामिल करना चाहिए जो:

और इसी ईवेंट लॉग त्रुटि है:

Unable to get list of SDL Tridion Content Manager items. 
DESCRIPTION 

Error Code: 
0x80040000 (-2147221504) 

Call stack: 
System.Data.ProviderBase.FieldNameLookup.GetOrdinal(String) 
System.Data.SqlClient.SqlDataReader.GetOrdinal(String) 
System.Data.SqlClient.SqlDataReader.get_Item(String) 
Tridion.ContentManager.Data.AdoNet.DatabaseUtilities.ConvertToFieldDictionary(IDataRecord,IDictionary`2) 
Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Read(TcmUri,IDataRecord,IDictionary`2) 
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.GetListItemsPost(IDataReader,TcmUri,OrganizationalItemItemsFilterData) 
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.Tridion.ContentManager.Data.ContentManagement.IOrganizationalItemDataMapper.GetListItems(TcmUri,OrganizationalItemItemsFilterData) 
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsData(OrganizationalItemItemsFilter) 
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsStream(OrganizationalItemItemsFilter) 
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListItemsXml(UserContext,String,ListFilter,ListColumnFilter) 
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListData(UserContext,String,EnumListKind,ListColumnFilter,String) 
Folder.GetListItems 
+1

क्या आप वाकई डेटाबेस आप बहाल एसडीएल के रूप में ठीक उसी संस्करण है कर रहे हैं ट्रिडियन सीएम सर्वर आप इसे भी जोड़ रहे हैं? और डेटाबेस डेटाबेस दोनों की संयोजन सेटिंग्स हैं? –

+0

निष्कर्ष पर आप कैसे पहुंचे यह एक अनुमति त्रुटि है? मुझे कॉल स्टैक में कहीं भी किसी भी तरह का एक्सेस चेक नहीं दिख रहा है ... –

+2

@ बार्टकुपमैन आपने सिर पर पूरी तरह से नाखून मारा है - मैंने अभी पुष्टि की है कि मेरा स्रोत ट्रिडियन इंस्टेंस सर्विस पैक नहीं किया गया था, लेकिन मेरा लक्ष्य है। जब मैं डेटाबेस के विरुद्ध अपग्रेड टूल चलाता हूं और त्रुटि को पुनरारंभ करता है तो चला जाता है। प्रेरित! धन्यवाद और गलती के लिए खेद है –

उत्तर

4

जैसा क्रिस उल्लेख किया , मैं हमेशा उपयोगकर्ता को डेटाबेस से छोड़ देता हूं और फिर SQL सर्वर में मौजूदा TCMDBUser को पुनर्स्थापित डेटाबेस के अधिकारों को असाइन करता हूं। आप (बहाल डेटाबेस पर) निम्न आदेश के साथ उपयोगकर्ता ड्रॉप कर सकते हैं:

EXEC sp_dropuser TCMDBUser 

फिर एसक्यूएल सर्वर के माध्यम से - सुरक्षा - लॉगिन, आप अपने TCMDBUser के गुणों का अनुरोध और उपयोगकर्ता मैपिंग में डेटाबेस भूमिकाओं निम्नलिखित जोड़ें : db_datareader, db_datawriter और db_ddladmin

है यही कारण है कि मैं हमेशा पहले कर चुके हैं और अगर अपने सभी आवश्यक मेरे लिए काम करता है, यकीन नहीं है, लेकिन लायक एक कोशिश मुझे लगता है कि

+0

मैंने स्क्रैच से शुरुआत की और निम्न कार्य किया: i) पुनर्स्थापित डीबी के खिलाफ EXEC SP_dropuser TCMDBUser_DEV चलाया। ii) मौजूदा लॉगिन टीसीएमडीबीयूसर के लिए सुझाए गए उपयोगकर्ता मैपिंग्स iii) ट्राइडियन सेवाओं को पुनरारंभ किया गया - और परिणाम वही है: टीसीएम एक्सप्लोरर –

+0

में फ़ोल्डरों में कोई आइटम नहीं जब आप अपने प्रश्न में वास्तविक त्रुटि संदेश पर कुछ और विवरण जोड़ सकते हैं? उस त्रुटि के लिए ट्रिडियन इवेंट लॉग भी देखें और इसके विवरण –

+0

मुझे लगता है कि मैं किसी भी तरह की पहुंच देख सकता हूं क्योंकि मैं उन सभी प्रकाशनों को देख और ब्राउज़ कर सकता हूं जिन्हें मैं फ़ोल्डर्स स्ट्रक्चर समूहों के माध्यम से देखने और नेविगेट करने की उम्मीद करता हूं। लेकिन जब मैं एक फ़ोल्डर का चयन करता हूं जिसमें मुझे आइटम होने की उम्मीद है तो मुझे शून्य आइटम दिखाई देते हैं। इवेंट लॉग त्रुटि पोस्ट के शीर्ष पर जोड़ा गया। –

5

आपको टीबीएमडीबीयूसर_डीवीवी को डीबी के रूप में हटाने/ड्रॉप करने की आवश्यकता होगी और फिर उसी नाम और पासवर्ड के साथ एक नया बनाएं (या इसे अपने सेमी डीबी में दोबारा जोड़ दें)। उससे आपकी समस्या हल हो जानी चाहिए।

मैं आमतौर पर एमएस एसक्यूएल सर्वर के साथ हटाए गए विधि का उपयोग करता हूं। मेरा मानना ​​है कि यह स्वामित्व की स्थिति के कारण होता है जो टीसीएमडीबीयूसर डेटाबेस स्कीमा पर है।

अपने TCMDBUser उपयोगकर्ता अपने Tridion_CM डेटाबेस पर निम्न अनुमतियों

enter image description here

+0

क्षमा करें उपयोगकर्ताओं और लॉगिन के बीच भ्रमित हो रही है।मेरे लक्ष्य एसक्यूएल इंस्टेंस में एक लॉगिन टीसीएमडीबीयूसर है जिसे मैं अपने उपयोगकर्ता के उपयोग के लिए उपयोग करना जारी रखना चाहता हूं (एमएमसी स्नैप-इन सेटिंग्स को संरक्षित करना), मेरे पुनर्स्थापित डेटाबेस में एक अनाथ उपयोगकर्ता टीसीएमडीबीयूसर_डीवी है। कृपया आप टी-एसक्यूएल के साथ चरणों की सूची दे सकते हैं? –

+0

मैंने उपरोक्त अनुमतियों का एक स्क्रीन शॉट जोड़ा जो –

+0

धन्यवाद में मदद कर सकता है। हाँ यह कैसा दिखता है। (मैं सर्वर को रिबूट कर रहा हूं ताकि उचित लहर सुनिश्चित हो सके) –

2

डेटाबेस में नया उपयोगकर्ता TCMDBUser बनाने का प्रयास करें है और चलाना चाहिए जब पूरा निम्न आदेश

EXEC sp_change_users_login 'Update_One', 'TCMDBUser', 'TCMDBUser' 
+0

क्या आपका मतलब tridion_cm या नया लॉगिन के खिलाफ नया उपयोगकर्ता है? मैंने स्क्रैच से बहाल किया और tridion_cm के खिलाफ एक नया उपयोगकर्ता टीसीएमडीबीयूसर बनाया और फिर सुझाई गई स्क्रिप्ट चलाई। ट्रिडियन एडमिन में लॉग इन पहले जैसा ही परिणाम देता है। निश्चित रूप से मैं टीसीएमडीबीयूसर_डीवी के साथ पूर्ववर्ती अनुमति लेना चाहता हूं और इसे लॉगिन उपयोगकर्ता (जो मेरी मूल पोस्ट थी) से जोड़ना चाहता हूं? –

+0

मेरा मतलब है उपयोगकर्ता ... किसी भी adnin उपयोगकर्ता के साथ लॉगिन करने का प्रयास करें .. –

+0

जैसा आपने सुझाव दिया था - मैंने एक नया उपयोगकर्ता टीसीएमडीबीयूसर को tridion_cm के खिलाफ बनाया और मौजूदा लॉगिन टीसीएमडीबीयूसर से जुड़ा हुआ है। पहले व्यवस्थापक उपयोगकर्ता के साथ लॉगिन का मतलब क्या है? क्या आप कृपया डीबी बहाल से आवश्यक विस्तार से कदम उठा सकते हैं? –

संबंधित मुद्दे