保护SQL语句不被Sql Profiler / 事件探查器 捕获跟踪到
Sql Server数据库的一大优势,就是具有富UI的管理和调试工具,这点,绝对是优于ORACLE和其他的大中型数据库的。
Sql Server的众多工具中,对于开发人员和DBA来讲,非常重要的一个,就是Sql Profiler (事件探查器) 了。
Sql Server中执行的每个一个动作,都可以在Sql Profiler里看的一清二楚,这对于性能调优,后期维护等等是非常有帮助的。
但是,问题来了,在你的产品发布后,你可能不想让客户跟踪到你的SQL执行情况,便于对客户保密。那么这个优势,就成了你的“眼中钉”
如何才能不被Sql Profiler跟踪到呢?
下面,我们就来探讨这个问题
假设,你有一张表A,里面有个字段password,保存密码,你执行下面的SQL:
SELECT [password] FROM [A]
在Sql Profiler 事件探查器里,你会看到如下的内容:
SELECT [password] FROM [A]
在Sql Profiler 事件探查器里,你会看到如下的内容:
— 在该事件文本中找到“password”。
— 出于安全原因,已用该注释替换此文本。
— 出于安全原因,已用该注释替换此文本。
这样,就看不到你执行的SQL语句的内容了。
但是,你可能要疑惑了,我的表中,不可能都存在password字段啊
确实如此,但是微软做的更绝,只要在查询的过程中,任意地方出现关键词password,encryption,sp_setapprole之一,整个查询过程都将被隐藏,任意地方,当然也包括 注释 中。
例如,执行下面的过程语句:
同样,在Sql Profiler中,可以看到如下的提示:
这样,事情就很清楚了,只要在所执行的想保护的SQL语句中,添加一个含有关键词的注释,就可以被保护起来了!
作者: 三角猫
http://www.zu14.cn/
转载请保留此信息
分类:
SQL SERVER
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
2009-01-21 I am 黑客