Разрешение на доступ к sys.dm_db_index_usage_stats
Поэтому у меня есть веб-сайт для внутреннего пользования, который отслеживает статистику сотрудников. Один из них - пропускают ли они какие-либо отчеты. Поскольку список элементов, в которых еще нет отчетов, обновляется только каждые пару дней, и в этих отчетах предоставляется трехдневный льготный период, я сравниваю дату (releaseDt), когда элемент был зарегистрирован как пропущенный отчет, в последний раз база данных была обновлена (@lastupdate). Таким образом, если база данных отчетов не была обновлена, но отчет завершен, веб-сайт не исключает кого-либо за то, что он пропустил отчет.
Код SQL прекрасно работает с привилегиями администратора, но по понятным причинам я не позволяю учетной записи ASP.NET иметь уровень администратора сервера.
Я настроил учетную запись SQL, которую код ASP.NET C # использует для входа, и разрешения для всего остального в порядке. (Доступ на чтение только для определенных баз данных, которые он использует.) Я не могу понять, к чему дать ему доступ, чтобы иметь доступ для чтения этого конкретного динамического административного представления.
Буду признателен за предложения, используя либо 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