Tengo un sitio web para uso interno que rastrea un montón de estadísticas para los empleados. Uno de estos es si les faltan informes. Como la lista de elementos que aún no tienen informes solo se actualiza cada dos días, y hay un período de gracia de 3 días en estos informes, estoy comparando la Fecha (releaseDt) en la que se registró el elemento como falta un informe en el informe. la última vez que se actualizó la base de datos (@lastupdate). De esta manera, si la base de datos de informes no se ha actualizado pero el informe está completo, el sitio web no está denunciando a alguien por perder un informe.Permiso para acceder a sys.dm_db_index_usage_stats
El código SQL funciona bien con los privilegios de nivel de administrador, pero por razones obvias no estoy dejando que la cuenta ASP.NET tenga nivel de administrador del servidor.
He configurado una cuenta SQL que utiliza el código ASP.NET C# para iniciar sesión, y los permisos para todo lo demás están bien. (Acceso de lectura solo para las bases de datos específicas que utiliza.) No puedo averiguar a qué darles acceso para tener acceso a esta vista de gestión dinámica específica.
Agradecería sugerencias utilizando Management Studio o utilizando una declaración SQL GRANT
.
esto parece haber información asociada a la vista de que se trate:
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
Para una claridad pedante, es una 'vista de gestión dinámica', no una' tabla de sistema'. –
Corregido eso. – sylverfyre
Claro, no creo que el código o la historia de fondo sean relevantes tampoco; la pregunta podría ser de una o dos líneas sin perder ningún significado. –