Answers:
看看联机丛书中的Showplan安全性,其中说:
拥有
SHOWPLAN
,ALTER TRACE
或VIEW SERVER STATE
权限的用户可以查看Showplan输出中捕获的查询。这些查询可能包含敏感信息,例如密码。因此,我们建议您仅将这些权限授予那些有权查看敏感信息的用户,例如 db_owner固定数据库角色的成员或sysadmin固定服务器角色的成员。我们还建议您仅将Showplan文件或包含Showshow相关事件的跟踪文件保存到使用NTFS文件系统的位置,并且建议您限制对有权查看敏感信息的用户进行访问。例如,考虑以下查询:
SELECT COUNT(*) FROM table_1 WHERE column_1 < 10
如果恶意用户产生的一组这样的示例查询计划输出,并与不同常数谓词每次替换值“10”,用户可以推断该列值的近似数据分发COLUMN_1在TABLE_1通过阅读估计的行数。
这种风险确实微不足道,特别是考虑到这是一台开发服务器,其中所有查询都来自开发人员和IT人员,而不是用户。