Permissão para acessar sys.dm_db_index_usage_stats
Então eu tenho um site para uso interno que rastreia um monte de estatísticas para os funcionários. Uma delas é se estão faltando algum relatório. Como a lista de itens que não têm relatórios ainda é atualizada a cada dois dias, e há um período de carência de três dias nesses relatórios, estou comparando a data (releaseDt) em que o item foi registrado como ausente de um relatório para o última vez que o banco de dados foi atualizado (@lastupdate). Dessa forma, se o banco de dados de relatórios não tiver sido atualizado, mas o relatório estiver concluído, o site não está descartando alguém por perder um relatório.
O código SQL funciona bem com privilégios de nível de administração, mas por razões óbvias não estou deixando a conta do ASP.NET ter nível de administrador do servidor.
Eu configurei uma conta SQL que o código ASP.NET C # usa para efetuar login, e as permissões para todo o resto estão bem. (Acesso de leitura apenas para os bancos de dados específicos que ele usa.) Não consigo descobrir para que dar acesso a ele para ter acesso à leitura dessa exibição de gerenciamento dinâmico específica.
Gostaria de receber sugestões usando o Management Studio ou usando umGRANT
Instrução SQL.
Isso parece ter informações relacionadas à visualização em questão:
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