2011-09-21 14 views
7

मैं सीएलआर का उपयोग कर एसक्यूएल के माध्यम से .NET dll चलाने में सक्षम होने का प्रयास कर रहा हूं - मैं इतना असफल कर रहा हूं।असममित कुंजी नहीं मिल रहा है - क्योंकि यह अस्तित्व में नहीं है या आपके पास अनुमति नहीं है

मैं निर्देशों here

अनुसरण कर रहा हूं तो मैं कर रहा हूँ निम्नलिखित:

CREATE LOGIN SQLCLR_AsymKeyLogin FROM ASYMMETRIC KEY AKEY_SqlClr 
:

CREATE ASYMMETRIC KEY AKEY_SqlClr FROM EXECUTABLE FILE = 'C:\dlls\mySqlClr.dll' 

कौन सा ठीक काम करता है और कुंजी बनाता है, फिर मैं निम्नलिखित करने की कोशिश

और मुझे त्रुटि मिलती है:

Cannot find the asymmetric key 'AKEY_SqlClr', because it does not exist or you do not have permission.

मुझे इसकी अनुमति क्यों नहीं मिल सकती? मैंने सत्यापित किया है कि मैंने लॉगिन अनुमतियां बनाई हैं। कोई विचार?

+1

इस पर मेरी स्मृति थोड़ा धुंधला ... आप इसे 'master' डेटाबेस में बनाने कर रहे हैं? अपनी कुंजी बनाने से पहले 'मास्टर का उपयोग करें' सुनिश्चित करें। – vcsjones

उत्तर

9

लॉग इन सर्वर प्रिंसिपल हैं और इस तरह वे उपयोगकर्ता डेटाबेस में संग्रहीत कुंजी से नहीं बनाए जा सकते हैं। आप master डेटाबेस में विधानसभा से महत्वपूर्ण बनाना चाहिए:

use master; 
CREATE ASYMMETRIC KEY AKEY_SqlClr FROM EXECUTABLE FILE = 'C:\dlls\mySqlClr.dll'; 
CREATE LOGIN SQLCLR_AsymKeyLogin FROM ASYMMETRIC KEY AKEY_SqlClr; 
संबंधित मुद्दे

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