Vì vậy, tôi có một trang web để sử dụng nội bộ theo dõi một loạt số liệu thống kê cho nhân viên. Một trong số đó là liệu họ có thiếu sót bất kỳ báo cáo nào không. Vì danh sách các mục không có báo cáo chỉ được cập nhật vài ngày một lần và có thời gian gia hạn 3 ngày trên các báo cáo này, tôi so sánh Ngày (releaseDt) rằng mục đã được ghi lại là thiếu báo cáo cho lần cuối cùng cơ sở dữ liệu được cập nhật (@lastupdate). Bằng cách này, nếu cơ sở dữ liệu báo cáo chưa cập nhật nhưng báo cáo đã hoàn tất, trang web không phải là một người nào đó đang bỏ lỡ một báo cáo.Quyền truy cập vào sys.dm_db_index_usage_stats
Mã SQL hoạt động tốt với quyền quản trị cấp quản trị, nhưng vì lý do hiển nhiên, tôi không cho phép tài khoản ASP.NET có cấp quản trị máy chủ.
Tôi đã thiết lập tài khoản SQL mà mã ASP.NET C# sử dụng để đăng nhập và quyền đối với mọi thứ khác đều ổn. (Chỉ đọc truy cập cho các cơ sở dữ liệu cụ thể mà nó sử dụng.) Tôi không thể tìm ra những gì để cung cấp cho nó quyền truy cập để có quyền truy cập để đọc cái nhìn quản lý năng động cụ thể này.
Sẽ đánh giá cao các đề xuất bằng cách sử dụng Management Studio hoặc sử dụng câu lệnh SQL GRANT
.
này dường như đã thông tin liên quan về quan điểm trong câu hỏi:
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
Chỉ cần cho rõ ràng về mặt hình ảnh, đó là 'chế độ xem quản lý động', không phải là 'bảng hệ thống'. –
Đã sửa lỗi đó. – sylverfyre
Chắc chắn, tôi không nghĩ rằng mã hoặc cốt truyện có liên quan - câu hỏi có thể là một hoặc hai lớp mà không mất bất kỳ ý nghĩa nào. –