मैं अभी SQL2000 से SQL2008 में माइग्रेट कर चुका हूं और मैंने एक संग्रहित प्रो पर निष्पादन अनुमति समस्या प्राप्त करना शुरू कर दिया है जो sp_OACreate का उपयोग करता है।एसक्यूएल सर्वर निष्पादन अनुमति; अनुमतियों को लागू करने में विफलता
शेष सिस्टम डीबी लॉगिन के साथ ठीक काम करता है जिसे सेटअप और डेटाबेस में जोड़ा गया है।
मैं कोशिश की है:
USE master
GO
GRANT EXEC ON sp_OACreate TO [dbuser]
GO
लेकिन यह निम्न त्रुटि के साथ विफल:
Msg 15151, Level 16, State 1, Line 1 Cannot find the user 'dbuser', because it does not exist or you do not have permission.
मैं पूर्ण अनुमतियों वाले सा के रूप में सर्वर में लॉग इन कर रहा हूँ। मैं एक समान एसक्यूएल कथन निष्पादित कर सकता हूं और सर्वर की भूमिका में अनुमतियां लागू कर सकता हूं, हालांकि लॉगिन/उपयोगकर्ता नहीं।
मैं विशिष्ट उपयोगकर्ता/लॉगिन में परिवर्तन कैसे लागू करूं?
मैं सार्वजनिक भूमिका के लिए अनुमतियां लागू कर सकता हूं और यह मेरी समस्या का समाधान करता है; हालांकि यह मेरे लिए एक सुरक्षा मुद्दा प्रतीत होता है जिसे मैं वास्तव में लाइव सर्वर पर लागू नहीं करना चाहता हूं।
आपने अपने डेटाबेस कैसे माइग्रेट किए? यदि आपने मास्टर डेटाबेस को पुनर्स्थापित नहीं किया है तो उपयोगकर्ता "dbuser" मौजूद नहीं होता और इसलिए मैप नहीं किया जाता। –
@ जॉन - आप सही हैं। मास्टर डेटाबेस की बहाली कुछ ऐतिहासिक बुरी बिट्स और बॉब्स के कारण नहीं की गई थी, जिन्हें हम माइग्रेशन से दूर जाना चाहते थे। दुर्भाग्यवश हमने उन उपयोगकर्ताओं को भी खो दिया जो अब पुनः निर्मित और लॉग इन करने के लिए मैप किए गए हैं :-) – WestDiscGolf