Msg 15151 Cannot find the certificate

本文讨论了在SQL Server中执行加密存储过程时遇到的Msg15151错误,该错误提示找不到证书。通过为证书和密钥单独添加权限解决了此问题。提供了GRANT语句的示例来实现这一解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

早上执行加密的存储过程出现下面的错误:

 

Msg 15151, Level 16, State 1, Line 23
Cannot find the certificate 'EncryptCert', because it does not exist or you donot have permission.

 

查了一下发现访问的账户只是赋予了执行存储过程的权限,如果不是用加密是没有问题。网上查了一下,需要对证书和Key单独加权限.

 

代码如下: 

 

--需要对证书有Control权限

GRANT CONTROL ON CERTIFICATE::EncryptCert TOUser1;

GO

--Key需要REFERENCES权限

GRANT REFERENCES ON SYMMETRIC KEY::PoolKey TO User1;

GO

 

执行上面的代码问题解决。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值