У мене база даних Microsoft SQL Server 2008 r2. Визначається користувач, який називається 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
Задіяні таблиці - це головні таблиці; як я можу дати дозволу Марі читати з них? Я вже намагався виконати таке як dbo:
GRANT ALL on sys.dm_tran_locks TO marie
GRANT ALL on sys.sysprocesses TO 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, це відсталий вигляд сумісності, і буде видалено з продукту в якийсь момент.