请教各位大侠,
代码中加入“--password--”

select top 100*
from b_style  --password--
可以保护代码不在事件探查器不显示,事件探查器中只提示“在该事件文本中找到“password“.....”之类的提示!经过测试,如果服务器为SQL2000的话,可以实现代码保护,但如果服务器为SQL2008的话,事件探查器还是会显示出代码的内容,而不会只是提示红色颜色文字。请问,这是怎么回事?如果想保护在SQL2008服务器上执行的代码(不被事件探查器追踪显示)应该怎么操作?
保护代码

解决方案 »

  1.   

    假设你的是存储过程,用了WITH ENCRYPTION就不会看到代码了。
      

  2.   

    不加WITH ENCRYPTION  事件探查器也探测不到里面的内容吧
      

  3.   

    最直接的方法就是数据加密了。 不过lz的内容上这个password 不会显示在结果上吧。
      

  4.   


    楼上的可能理解错了我的意思,你说的加密应该是说在过程、视图啥里面加上WITH ENCRYPTION  进行加密对象。我说的是让SQL的事件探查器探不到我的SQL代码是什么东东?不是说让他探到代码,然后在数据库上查看代码里的对象的时候给加密了不让看!比如说:我在sql上操作一个代码为select * from b_user ,事件探查器会显示我执行了select * from b_user这个代码,如果我操作代码为select * from b_user --password--,sql2000上执行的话,事件探查器只会显示“在该事件文本中找到“password“.....”,而无法显示代码内容,不过,这段代码在SQL2008执行的时候,事件控查器取又显示了出“select * from b_user --password--”,不知道这是由于sql2008和sql2000哪里的不同造成的?
      

  5.   

    2008有tde功能,整个数据库加密,你可以找个测试数据库试试,我还没试过,不知道行不行,还有,如果我们理解错了,你应该早点说清楚,老在说谁知道答案有什么用,只会让你自己一直等下去,最终吃亏的只有你自己