it-swarm-eu.dev

Udělte oprávnění k výběru ze systémových tabulek

Mám databázi Microsoft SQL Server 2008 r2. Je definován uživatel marie, který má přístup k tabulkám v hlavní databázi; to funguje dobře. Nyní bych ráda, aby marie mohla provést tento dotaz:

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

Zahrnuté tabulky jsou hlavní tabulky; Jak mohu povolit marie číst od nich? Jako dbo jsem se již pokusil provést následující:

GRANT ALL on sys.dm_tran_locks TO marie
GRANT ALL on sys.sysprocesses TO marie

Přesto, když se marie pokusí provést výše uvedený dotaz, chyba je:

Msg 297, Level 16, State 1, Line 1
The user does not have permission to perform this action.

Co dělám špatně?

14
carlo.borreo

Systémové pohledy vyžadují mírně zvýšený stav, protože jsou široké. Budete chtít GRANT VIEW SERVER STATE za to:

GRANT VIEW SERVER STATE TO marie;
26
Mike Fal