【发布时间】:2009-12-01 03:51:02
【问题描述】:
如何使我的 SQL 语句不出现在 Profiler 中? 它们包含敏感信息,我不希望它们 在 Profiler 中显示。
感谢您的回复!
【问题讨论】:
标签: sql sql-server sql-server-2005
如何使我的 SQL 语句不出现在 Profiler 中? 它们包含敏感信息,我不希望它们 在 Profiler 中显示。
感谢您的回复!
【问题讨论】:
标签: sql sql-server sql-server-2005
探查器只能由具有适当权限的人运行,因此如果您的安装得到适当保护,您应该没问题(没有用户应该能够探查您的应用程序)。这超出了安全性,因为探查器会大大降低服务器速度。
【讨论】:
没有办法。无法删除分析器中的“文本”列。
您需要运行分析器的权限(sysadmin 或 GRANT ALTER TRACE),因此这不是隐式权限。
注意:
【讨论】:
我能想到的唯一方法是让它们成为存储过程(分析器只会显示调用),但如果参数是安全的(很可能),那么这对你没有帮助(编辑:正如在 cmets 中指出的那样,您可以更改分析器的配置以包含它,所以这不会有太大帮助)
您是否考虑过不向不允许查看数据的人授予访问权限?运行分析器的访问权限是相当高的访问权限...
另外,您在存储/查询数据之前是否考虑过hashing 您的数据?有时这行不通,但如果我们谈论的是密码,那么它们确实应该以加密形式存储和查找。
【讨论】:
我注意到如果您使用 SQL 中内置的加密函数(写于 https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-encryption?view=sql-server-ver15),例如 ENCRYPTBYPASSPHRASE,文本不会显示在分析器中 - 我不确定这是否 100% 万无一失,但它确实符合这个问题。
【讨论】: