在Profiler中隐藏SQL

时间:2009-12-01 03:51:02

标签: sql sql-server sql-server-2005

如何让我的SQL语句不出现在Profiler中? 它们包含敏感信息,我不希望它们 在Profiler中显示。

感谢您的回复!

4 个答案:

答案 0 :(得分:3)

探查器只能由具有适当权限的人运行,因此如果您的安装得到妥善保护,您应该没问题(没有用户应该能够分析您的应用程序)。这超出了安全性,因为分析器大大减慢了服务器的速度。

答案 1 :(得分:3)

我能想到的唯一方法就是让它们成为存储过程(探查器只显示调用),但如果参数是安全的(很可能),那么这对你没有帮助(编辑:正如评论中指出的那样,你可以改变探查器的配置来包含这个,所以这对你来说无济于事)

您是否考虑过不允许访问不允许查看数据的人?访问运行探查器是一个非常高级别的访问...

另外,在存储/查询数据之前,您是否考虑过hashing数据?有时这不起作用,但如果我们说的是密码,那么它们确实应该存储起来并以加密形式查找。

答案 2 :(得分:3)

没有办法。无法删除分析器中的“文本”列。

您需要运行探查器(sysadmin或GRANT ALTER TRACE)的权限,因此它不是隐含权利。

注意:

  • sysadmins可以解密存储过程或添加日志代码,无论它们是否运行分析器
  • 物理访问需要受到控制,至少要阻止有人拿走数据库的副本
  • 无论如何都不会跟踪sp_password或ALTER LOGIN之类的内容

答案 3 :(得分:0)

我注意到,如果您使用ENCRYPTBYPASSPHRASE之类的SQL中内置的加密功能(写在https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-encryption?view=sql-server-ver15处),则探查器中不会显示该文本-我不确定这是否是100 %的傻瓜证明,但确实符合问题。

示例... enter image description here