SQL对象加密 20CSDN]

发布时间:2016-12-10 13:00:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL对象加密 20CSDN]",主要涉及到SQL对象加密 20CSDN]方面的内容,对于SQL对象加密 20CSDN]感兴趣的同学可以参考一下。

请教各位大侠:     我现在有SQL SERVER 2000的数据库,现被另一家公司被拷过去研究了。 我想对理面的数据表及视图,存储过程及所有对象加密。让他们研究不了。 我之前看过一家公司的有这样的情况:     具体现象是:打开设计表来看时,它不显示,其它对象也是一样的现象。 谢谢各位大侠指点!!!!!!

在定义存储过程和视图的时候可以定义加密。 ENCRYPTION  指示 SQL Server 将 CREATE PROCEDURE 语句的原始文本转换为模糊格式。模糊代码的输出在 SQL Server 2005 的任何目录视图中都不能直接显示。对系统表或数据库文件没有访问权限的用户不能检索模糊文本。但是,可以通过 DAC 端口访问系统表的特权用户或直接访问数据文件的特权用户可以使用此文本。此外,能够向服务器进程附加调试器的用户可在运行时从内存中检索已解密的过程。有关访问系统元数据的详细信息,请参阅元数据可见性配置。 USE AdventureWorks; GO IF OBJECT_ID ( 'HumanResources.usp_encrypt_this', 'P' ) IS NOT NULL      DROP PROCEDURE HumanResources.usp_encrypt_this; GO CREATE PROCEDURE HumanResources.usp_encrypt_this WITH ENCRYPTION AS     SELECT EmployeeID, Title, NationalIDNumber, VacationHours, SickLeaveHours      FROM HumanResources.Employee; GO   如以下示例所示,WITH ENCRYPTION 选项可阻止返回存储过程的定义。  运行 sp_helptext: EXEC sp_helptext 'HumanResources.uspEncryptThis';   下面是结果集:  The text for object 'HumanResources.uspEncryptThis' is encrypted.   直接查询 sys.sql_modules 目录视图: USE AdventureWorks; GO SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('HumanResources.uspEncryptThis');   下面是结果集:   复制代码  definition ---------------------- NULL (1 row(s) affected)  

在SQL 2000中用WITH ENCRYPTION加密后可以解密 但在SQL 2005中目前还无法解密

以上方法加密,都可以解密。用存储过程解密或用软件都可以。

sql2000可以解密,但是SQL2005的似乎没听说被破吧? 并且SQL2005可以支持对字段内容直接加密了

这个我也知道,我是想问有没其他办法。

不做存储过程和视图。全部用客户端代码。——效率其他都不管。

2005解密方法一样.只不过要改一些地方.就是密文来源,及一些字段长度.

2005不是可以用C# 把一些重要的语句,过程对象放入SQL CLR中.这样相对要安全.

學習,我也想知道。

我也遇到这种情况,也不知道该如何解决,本来想在客户端对主要字段加密后在进行存储,但工作量不是一般的大,只好作罢了。

上一篇:sql2005 怎样保存新建的存储过程 20CSDN]
下一篇:sql server2000数据库升级到sql server 2005注意什么? 20liyuchun00]

相关文章

相关评论