3

我的老板有一个独特的要求。我是我公司唯一的软件开发人员,所以我正在做从初始设计到数据库设计的所有工作。我定期设计和维护数据库,前端也是如此。我们没有数据库管理员。我的独特要求是不让自己看到一个列(我正在设计和开发一个工资单应用程序),而该列是他们的工资率和薪水的总工资。我知道许多公司都有 DBA,他们会在开发服务器上需要时删除该数据或将错误数据放入这些列中。除了拒绝自己访问这些列之外,我还能做 DBA 应该做的所有事情。我不认为它可以做到。我曾尝试拒绝自己访问 SQL 中的那些列,但后来我不能 t 查询我的应用程序中的任何内容。有没有人对如何解决这个问题有任何建议?我进行了研究,但除了列解决方案之外,我还没有找到任何内容。谢谢。

4

2 回答 2

0

加密确实是您唯一的选择。最简单的方法是加密/解密客户端上的数据。如果这不是一个选项,请查看各种 T-SQL 加密选项(例如 DECRYPTBYKEY、DECRYPTBYASYMKEY 等)。无论哪种方式,都要让密钥脱离你的控制,这样他们甚至不能说“但你可以将备份恢复到你自己的服务器并更改权限”。

于 2014-03-03T17:22:52.377 回答
0

您可以使用多个数据库帐户:
- 您的帐户无法访问这些列
- 您的应用程序的另一个帐户有权访问这些列

于 2014-03-03T13:53:02.610 回答