उन उपयोगकर्ताओं के लिए जो SQL सर्वर इंस्टेंस पर sysadmin भूमिका के सदस्य नहीं हैं, आपको xp_cmdshell विस्तारित संग्रहीत कार्यविधि तक पहुँच प्रदान करने के लिए निम्नलिखित क्रियाओं को करने की आवश्यकता है। इसके अलावा यदि आप किसी एक चरण को भूल गए हैं तो मैंने उस त्रुटि को सूचीबद्ध किया है जिसे फेंक दिया जाएगा।
-
xp_cmdshell प्रक्रिया सक्षम करें
<ब्लॉकक्वॉट>संदेश 15281, स्तर 16, राज्य 1, प्रक्रिया xp_cmdshell, लाइन 1SQL सर्वर ने घटक 'xp_cmdshell' की प्रक्रिया 'sys.xp_cmdshell' तक पहुंच को अवरुद्ध कर दिया क्योंकि यह घटक इस सर्वर के लिए सुरक्षा कॉन्फ़िगरेशन के भाग के रूप में बंद है। एक सिस्टम व्यवस्थापक sp_configure का उपयोग करके 'xp_cmdshell' के उपयोग को सक्षम कर सकता है। 'Xp_cmdshell' को सक्षम करने के बारे में अधिक जानकारी के लिए, SQL सर्वर पुस्तकें ऑनलाइन में "सरफेस एरिया कॉन्फ़िगरेशन" देखें।*
-
गैर-sysadmin उपयोगकर्ता के लिए एक लॉगिन बनाएं जिसके पास मास्टर डेटाबेस तक सार्वजनिक पहुंच है
<ब्लॉकक्वॉट>संदेश 229, स्तर 14, राज्य 5, प्रक्रिया xp_cmdshell, पंक्ति 1 वस्तु 'xp_cmdshell', डेटाबेस 'mssqlsystemresource', स्कीमा 'sys' पर निष्पादित अनुमति अस्वीकार कर दी गई थी।*
-
xp_cmdshell संग्रहीत कार्यविधि पर EXEC अनुमति प्रदान करें
<ब्लॉकक्वॉट>संदेश 229, स्तर 14, राज्य 5, प्रक्रिया xp_cmdshell, पंक्ति 1 वस्तु 'xp_cmdshell', डेटाबेस 'mssqlsystemresource', स्कीमा 'sys' पर निष्पादित अनुमति अस्वीकार कर दी गई थी।*
-
एक प्रॉक्सी खाता बनाएं जिसे sp_xp_cmdshell_proxy_account का उपयोग करके xp_cmdshell चलाया जाएगा
<ब्लॉकक्वॉट>संदेश 15153, स्तर 16, राज्य 1, प्रक्रिया xp_cmdshell, पंक्ति 1 xp_cmdshell प्रॉक्सी खाता जानकारी पुनर्प्राप्त नहीं की जा सकती या अमान्य है। सत्यापित करें कि '##xp_cmdshell_proxy_account##' क्रेडेंशियल मौजूद है और उसमें मान्य जानकारी है।*
आपकी त्रुटि से ऐसा प्रतीत होगा कि चरण 2 या 3 में से कोई भी छूट गया था। मैं यह जानने के लिए समूहों से परिचित नहीं हूँ कि क्या उस सेटअप में कुछ खास है।