【发布时间】:2015-01-07 09:54:53
【问题描述】:
由于安全要求,我想制作报表,每个业务员只查看他所在区域的销售数据,可能不查看其他业务员的数据。
我可以想象生成报告的推销员可以基于 Windows 身份验证以某种方式传入他的域用户名 (UserID) 的查询。然后查询将仅选择基于该 UserID 的数据。 SQL查询中如何获取访问报表的用户的域用户名(UserID)?
制作用户特定报告的方法有哪些?
【问题讨论】:
标签: sql sql-server report
由于安全要求,我想制作报表,每个业务员只查看他所在区域的销售数据,可能不查看其他业务员的数据。
我可以想象生成报告的推销员可以基于 Windows 身份验证以某种方式传入他的域用户名 (UserID) 的查询。然后查询将仅选择基于该 UserID 的数据。 SQL查询中如何获取访问报表的用户的域用户名(UserID)?
制作用户特定报告的方法有哪些?
【问题讨论】:
标签: sql sql-server report
在 SQL Server 中,您应该能够使用以下方式获取用户的域用户名:
SELECT user
如果您正在寻找他的 ID,您可以使用从上述查询中获取的 domain_username 来检查 sysusers 表。
【讨论】:
guest,尽管我以 Windows 域的用户身份登录。为什么?
SUSER_NAME() 和 SUSER_SNAME() 返回正确的信息。但是,如果这两个都可以通过查询设置,我有点担心。 SYSTEM_USER 返回相同的信息。其中哪一个最适合我的报告?
ORIGINAL_LOGIN() 应该完成这项工作。 blog.sqlauthority.com/2012/07/28/…