首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法删除非对称密钥,因为有一个映射到它的登录名。

无法删除非对称密钥,因为有一个映射到它的登录名。
EN

Stack Overflow用户
提问于 2020-08-26 21:10:50
回答 1查看 1.2K关注 0票数 1

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

我现在想删除它:

代码语言:javascript
复制
use master
DROP ASYMMETRIC KEY key_clr_http_request

但作为回应,我得到如下答复:

代码语言:javascript
复制
Cannot drop asymmetric key 'key_clr_http_request' because there is a login mapped to it.

我已经尝试重新启动SSMS,我是这个测试机器上的sa。现在没有人连接到这台机器,只有我,那么登录映射的是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 21:25:43

这与您的权限级别无关,当然也与SSMS无关。

这就是模块签名的工作方式。模块(在本例中是程序集)是用强名称/非对称密钥签名的。在[master]中,强名称密钥的公钥部分作为非对称密钥加载。从此,将从该非对称密钥创建一个登录名,以便可以将权限分配给它,因为不能将权限分配给非对称密钥或证书。因此,您需要删除从该非对称密钥创建的登录,然后可以删除非对称密钥。

执行以下操作,您将看到有问题的登录:

代码语言:javascript
复制
SELECT aky.[name] AS [AsymmetricKey], lgn.*
FROM   sys.server_principals lgn
INNER JOIN sys.asymmetric_keys aky
        ON aky.[sid] = lgn.[sid];

有关使用模块签名的更多信息,请访问:模块签名信息

有关一般使用SQLCLR的更多信息,请访问:SQLCLR信息

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63605793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档