Sql server 2008 SQL Server 2008 R2如何在存储过程中保护主密钥密码

Sql server 2008 SQL Server 2008 R2如何在存储过程中保护主密钥密码,sql-server-2008,stored-procedures,encryption,reporting-services,Sql Server 2008,Stored Procedures,Encryption,Reporting Services,我们在SSRS中有报告,我们使用SPs作为数据源。我们正在对一些表使用主密钥加密。下面是我们现在在编写SP时遵循的顺序: 按密码打开主密钥解密='some PASSWORD' SP SQL语句 关闭主钥匙; 问题是,我们不想在SP中存储解密密码,也不想通过param发送密码,因为它可能被探查器截获 我已经评估了一些概念,比如使用加密,但它不安全,具有适当db角色的用户可以轻易破坏它。我还尝试通过将数据源“Query Type”更改为“Text”,从rdl文件中调用上述序列,但不幸的是,SSRS使

我们在SSRS中有报告,我们使用SPs作为数据源。我们正在对一些表使用主密钥加密。下面是我们现在在编写SP时遵循的顺序:

按密码打开主密钥解密='some PASSWORD' SP SQL语句 关闭主钥匙; 问题是,我们不想在SP中存储解密密码,也不想通过param发送密码,因为它可能被探查器截获

我已经评估了一些概念,比如使用加密,但它不安全,具有适当db角色的用户可以轻易破坏它。我还尝试通过将数据源“Query Type”更改为“Text”,从rdl文件中调用上述序列,但不幸的是,SSRS使用sp_executesql运行参数化查询,并在探查器中显示


以上任何想法都是非常值得赞赏的。如果有人需要更多信息,请告诉我。

具有适当db角色的用户…,profiler-这是一个人员问题,而不是技术问题。停止授予你不信任的人如此广泛的权限。@Damien_不信者-我完全同意,但这是要求。如果这仍然是可能的,您可以在应用程序的代码中使用Rijndael密钥进行加密,并在此基础上使用DB加密。