2011-09-21 17 views
7

CLR kullanarak SQL üzerinden .Net dll çalıştırabilmek için çalışıyorum - Bu kadar başarısız bir şekilde yapıyorum.Asimetrik anahtar bulunamıyor - yok ya da izniniz yok

Ben yüzden yapıyorum talimatları here

takip ediyorum şu:

CREATE LOGIN SQLCLR_AsymKeyLogin FROM ASYMMETRIC KEY AKEY_SqlClr 
:

çalışıyor ve Key oluşturur
CREATE ASYMMETRIC KEY AKEY_SqlClr FROM EXECUTABLE FILE = 'C:\dlls\mySqlClr.dll' 

, o zaman ben aşağıdakileri deneyin

Ve ben şu hatayı alıyorum:

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

Bunun için nasıl izinlerim yok? Oturum açma izinleri CREATE sahip olduğumu doğruladım. Herhangi bir fikir?

+1

bu konuda Hafızam puslu biraz ... sen 'master' veritabanında oluşturuyorsunuz edilir? Anahtarınızı oluşturmadan önce "USE master" ı kullandığınızdan emin olun. – vcsjones

cevap

9

Girişler, sunucu ilkeleridir ve bu nedenle, kullanıcı veritabanlarında depolanan anahtarlardan oluşturulamazlar. Sen master veritabanında montaj anahtarı oluşturmalısınız:

use master; 
CREATE ASYMMETRIC KEY AKEY_SqlClr FROM EXECUTABLE FILE = 'C:\dlls\mySqlClr.dll'; 
CREATE LOGIN SQLCLR_AsymKeyLogin FROM ASYMMETRIC KEY AKEY_SqlClr; 
İlgili konular