微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保护SQL语句不被Sql Profiler/事件探查器捕获跟踪到

Sql Server Sql Profiler 事件探查器

  sql Server数据库的一大优势,就是具有富UI的管理和调试工具,这点,绝对是优于ORACLE和其他的大中型数据库的。

  sql Server的众多工具中,对于开发人员和DBA来讲,非常重要的一个,就是sql Profiler (事件探查器) 了。

  sql Server中执行的每个一个动作,都可以在sql Profiler里看的一清二楚,这对于性能调优,后期维护等等是非常有帮助的。

Sql Profiler 事件探查器 跟踪SQL

  但是,问题来了,在你的产品发布后,你可能不想让客户跟踪到你的sql执行情况,便于对客户保密。那么这个优势,就成了你的“眼中钉”

  如何才能不被sql Profiler跟踪到呢?

  下面,我们就来探讨这个问题

  假设,你有一张表A,里面有个字段password,保存密码,你执行下面的sql

  SELECT [password] FROM [A]

  在sql Profiler 事件探查器里,你会看到如下的内容

事件探查器 Sql Profiler 在该事件中找到 password 出于安全原因

— 在该事件文本中找到“password”。
— 出于安全原因,已用该注释替换此文本。

  这样,就看不到你执行的sql语句的内容了。

  但是,你可能要疑惑了,我的表中,不可能都存在password字段啊

  确实如此,但是微软做的更绝,只要在查询的过程中,任意地方出现关键词password,encryption,sp_setapprole之一,整个查询过程都将被隐藏,任意地方,当然也包括 注释 中。

  例如,执行下面的过程语句:

isqlw

  同样,在sql Profiler中,可以看到如下的提示

sql profiler isqlw

  这样,事情就很清楚了,只要在所执行的想保护的sql语句中,添加一个含有关键词的注释,就可以被保护起来了!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐