我创建了一个非对称密钥'key_clr_http_request‘,如果我select * from sys.asymmetric_keys,我可以看到它:

我现在想删除它:
use master
DROP ASYMMETRIC KEY key_clr_http_request但作为回应,我得到如下答复:
Cannot drop asymmetric key 'key_clr_http_request' because there is a login mapped to it.我已经尝试重新启动SSMS,我是这个测试机器上的sa。现在没有人连接到这台机器,只有我,那么登录映射的是什么?
发布于 2020-08-26 21:25:43
这与您的权限级别无关,当然也与SSMS无关。
这就是模块签名的工作方式。模块(在本例中是程序集)是用强名称/非对称密钥签名的。在[master]中,强名称密钥的公钥部分作为非对称密钥加载。从此,将从该非对称密钥创建一个登录名,以便可以将权限分配给它,因为不能将权限分配给非对称密钥或证书。因此,您需要删除从该非对称密钥创建的登录,然后可以删除非对称密钥。
执行以下操作,您将看到有问题的登录:
SELECT aky.[name] AS [AsymmetricKey], lgn.*
FROM sys.server_principals lgn
INNER JOIN sys.asymmetric_keys aky
ON aky.[sid] = lgn.[sid];有关使用模块签名的更多信息,请访问:模块签名信息
有关一般使用SQLCLR的更多信息,请访问:SQLCLR信息
https://stackoverflow.com/questions/63605793
复制相似问题