ฉันมีฐานข้อมูล Microsoft SQL Server 2008 r2 ผู้ใช้ชื่อ marie ถูกกำหนดผู้ที่สามารถเข้าถึงตารางในฐานข้อมูลหลัก มันใช้งานได้ดี ตอนนี้ฉันต้องการให้ marie สามารถทำแบบสอบถามนี้ได้:
SELECT resource_type,spid,login_time,status,hostname,program_name,nt_domain,nt_username,loginame
FROM sys.dm_tran_locks dl
JOIN sys.sysprocesses sp on dl.request_session_id = sp.spid
ตารางที่เกี่ยวข้องคือตารางต้นแบบ ฉันจะอนุญาตให้ marie อ่านจากพวกเขาได้อย่างไร ฉันได้ลองดำเนินการดังต่อไปนี้เป็น dbo:
GRANT ALL on sys.dm_tran_locks TO marie
GRANT ALL on sys.sysprocesses TO marie
ยังคงเมื่อ marie พยายามที่จะดำเนินการค้นหาข้างต้นข้อผิดพลาดคือ:
Msg 297, Level 16, State 1, Line 1
The user does not have permission to perform this action.
ผมทำอะไรผิดหรือเปล่า?
sys.dm_exec_requests,sys.dm_exec_sessionsฯลฯsysprocessesเป็นมุมมองที่เข้ากันได้ย้อนหลังและจะถูกลบออกจากผลิตภัณฑ์ในบางจุด