所以,我对于内部使用一个网站,跟踪员工一堆统计的。 其中之一是他们是否缺少任何报告。 由于没有报告,但只有得到每隔几天更新,并且对这些报道3天的宽限期的项目清单,我比较,该项目被记录为失踪的报告日期(releaseDt)最后一次数据库更新(@lastupdate)。 这样一来,如果报告数据库没有更新,但该报告完成后,该网站是不是ratting有人出来失踪的报告。
在SQL代码工作正常使用管理员级别的privledges,但显而易见的原因,我不会让ASP.NET帐户有服务器管理水平。
我已经设置了ASP.NET的C#代码用来登录SQL帐户,以及其他一切权限都是精品。 (只读了它使用的特定数据库的访问。)我无法弄清楚如何给它的访问,以便有机会读这特定的动态管理视图。
将使用两种Management Studio中,或用欣赏的建议GRANT
SQL语句。
这似乎对有问题的查看相关信息:
sys.dm_db_index_usage_stats(的Transact-SQL)
DECLARE @lastupdate datetime
SELECT @lastupdate = last_user_update from sys.dm_db_index_usage_stats
WHERE OBJECT_ID = OBJECT_ID('MissingReport')
SELECT
COALESCE(Creator, 'Total') AS 'Creator',
COUNT(*) AS Number,
'$' + CONVERT(varchar(32), SUM(Cost), 1) AS 'Cost'
FROM MissingReport
WHERE NOT(
[bunch of conditions that make something exempt from needing a report]
OR
(
DATEDIFF(day,ReleaseDt,@lastupdate) <= 3
)
)
GROUP BY Creator WITH ROLLUP