データベース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
関連するテーブルはマスターテーブルです。マリーに彼らから読む許可を与えるにはどうすればいいですか?私はすでに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
下位互換性の図であり、いくつかの時点で、製品から削除されます。