2011-09-21 17 views
7

CLRを使用して.Net DLLをSQLで実行できるようにしようとしていますが、失敗しています。非対称キーが見つからない - 存在しないかパーミッションがありません

私はだから私は次のことをやっているの指示here

を、次の午前:

正常に動作してキーを作成します
CREATE ASYMMETRIC KEY AKEY_SqlClr FROM EXECUTABLE FILE = 'C:\dlls\mySqlClr.dll' 

、その後、私は次の操作を実行しよう:

CREATE LOGIN SQLCLR_AsymKeyLogin FROM ASYMMETRIC KEY AKEY_SqlClr 

エラーが表示されます。

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

どうすればこの権限を持つことができますか?私はCREATE LOGIN権限を持っていることを確認しました。何か案は?

+1

私のメモリは少し濁っています...あなたは 'master'データベースで作成していますか?キーを作成する前に 'USE 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; 
関連する問題