日期:2014-05-18  浏览次数:20552 次

初学者问个加密问题!
我以前用ACCESS的,现在用SQL SERVER,开发好程序后,数据库和程序一起发给客户,能否不让我的客户看到我的数据库中的表结构等?
请问是否可以对单个数据库加密!?
能否设置个密码 我在程序中可以访问,用SQL SERVER不能看?
也许我的思路有问题.用ACCESS用习惯了!!
请问我要实现这个,怎么解决??


------解决方案--------------------
1、TDE透明数据加密可以加密数据库,但是解密后表结构仍然可以看到。
例如你可以给门加一把锁,别人进不去,但是你一旦把钥匙借给别人,别人是可以看到屋子里面的东西的。
常规的处理方法就是控制SQL Server的账号,不同的账号有不同的权限,可以细到字段级,但是SA用户可以。
2、可以设置个密码你在程序中可以访问,用SQL SERVER可以做到不能看,
但是系统管理员对数据库具有最高权限,SA用户是依然可以访问数据库的,还是解决不了你的问题。
3、把数据加密后存入表结构,通过解密后的数据生成别的临时表或者动态表来实现程序的访问,可以解决你所说的安全问题。或者通过加密存储过程的方式,自己权衡一下工作量吧,可以解决你的问题。
------解决方案--------------------
SQL SERVER的账号,win账号是必须支持的,sa这种反而是可选的