【发布时间】:2010-12-29 07:50:27
【问题描述】:
我想在一些小公司的本地网络中安装一个应用程序(ASP.Net + SQL server 2005 express)来演示一段时间,但我也希望没有人甚至系统管理员有对此数据库没有权限,任何授予的权限都需要我拥有的安全通行证。 我只想隐藏我的表结构、关系和函数,加密数据没有任何优势
我需要花更多时间在这篇文章 Database Encryption in SQL Server 2008 Enterprise Edition 上,我从这个答案 is-it-possible-to-password-protect-an-sql-server-database 中找到
但是
1.我希望对此更加明确,因为此页面中的other answer 表示:
是的。你可以保护它免受所有人的伤害 除了的管理员 服务器。
2.如果可以,数据库必须是企业版?
3.是否有其他可能的解决方案和解决方法?
4.如果我使用自己的 sa 密码安装新实例,我可以限制其他实例管理员将 mdf 附加到他们自己的吗?
提前致谢
【问题讨论】:
-
不能用sql 2008 express吗? 2008 拒绝所有用户的权限,除非您在安装期间或之后授予他们权限。
-
是的,但是下面的答案说即使在 2008 年也是不可能的
-
@u07ch 这可能是真的,但是当在客户端服务器上设置数据库时,在该系统上具有管理员权限的系统管理员将能够访问数据库架构。
-
作为非答案:切换到 FireBird,至少在那里您可以删除存储过程和视图定义(它以字节码的形式保留在数据库中)。至少通过这种方式,您可以让 95% 的尝试对您的数据库进行逆向工程的人无法(或没有回报)。您可以对表中的数据进行加密。
标签: sql database sql-server-2005 security