Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 在SQL Server 2008中找不到对称密钥_Sql Server 2008_Database Permissions_Symmetric Key - Fatal编程技术网

Sql server 2008 在SQL Server 2008中找不到对称密钥

Sql server 2008 在SQL Server 2008中找不到对称密钥,sql-server-2008,database-permissions,symmetric-key,Sql Server 2008,Database Permissions,Symmetric Key,在执行存储过程时,我有一个关于在特定用户名下使用对称密钥的权限问题 尽管跑 GRANT CONTROL ON CERTIFICATE::myCert TO myUser GRANT VIEW DEFINITION ON SYMMETRIC KEY::myKey TO myUser 我仍然得到相同的错误: 找不到对称密钥“myKey”, 因为它不存在或者你存在 没有许可 在与用户名相关的数据库下设置了主密钥、证书和对称密钥 如果在Windows身份验证下运行SP,它可以正常工作 以下是存储过程:

在执行存储过程时,我有一个关于在特定用户名下使用对称密钥的权限问题

尽管跑

GRANT CONTROL ON CERTIFICATE::myCert TO myUser
GRANT VIEW DEFINITION ON SYMMETRIC KEY::myKey TO myUser
我仍然得到相同的错误:

找不到对称密钥“myKey”, 因为它不存在或者你存在 没有许可

在与用户名相关的数据库下设置了主密钥、证书和对称密钥

如果在Windows身份验证下运行SP,它可以正常工作

以下是存储过程:

OPEN SYMMETRIC KEY myKey DECRYPTION
BY CERTIFICATE myCert

INSERT INTO sp_Password
(billEncryptPassword)
VALUES(ENCRYPTBYKEY(KEY_GUID('myKey'),@billEncryptPassword))

RETURN @@IDENTITY       
CLOSE SYMMETRIC KEY myKey 

我错过了什么?

即使作为系统管理员运行此程序,我也遇到了同样的问题

为了解决这个问题,我目前正在关闭所有打开的键,这很好。我宁愿只关闭我打开的东西

关闭所有对称密钥

---附录


我刚刚尝试了AES_256 vs DES加密,AES_256在我这方面起了作用

之后您丢失了
关闭主密钥
,这会干扰您随后的加密/解密。

有人对此有建议吗???我已通过向登录添加系统管理员服务器角色使其正常工作,但我不确定这是否是一个真正的修复,因为登录应该是一个网站连接。我们刚刚有了同一问题;GRANT什么也没做,但添加sysadmin角色解决了这个问题。你有没有发现更优雅的东西?!你真的不应该提升到系统管理员。那将是一次黑客攻击(而且是一次危险的攻击)。通过使用AES_256,我可以让这一切正常工作。