Разрешение на доступ к 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

Ответы на вопрос(1)

Ваш ответ на вопрос