Как вы находите последнего пользователя, который получил доступ к базе данных и отметке времени этого доступа? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть база данных SQL Server 2005 на компьютере с Windows Server 2003 (да, мы пытаемся перейти на более новую версию). Я могу использовать следующий код, чтобы увидеть, что в прошлый раз к различным базам данных обращались:

select 
    d.name, 
    x1 = (select X1 = max(bb.xx) 
          from 
              (select xx = max(last_user_seek) 
               where max(last_user_seek) is not null 
          union all 
          select xx = max(last_user_scan) 
          where max(last_user_scan) is not null 
          union all 
          select xx = max(last_user_lookup) 
          where max(last_user_lookup) is not null 
          union all 
          select xx = max(last_user_update) 
          where max(last_user_update) is not null) bb) 
from
    master.dbo.sysdatabases d 
left outer join 
    sys.dm_db_index_usage_stats s on d.dbid= s.database_id 
group by 
    d.name

Это отлично работает, но мне нужно выяснить, какой пользователь выполнил этот доступ. Как бы я это сделал?

1 Ответ

0 голосов
/ 06 ноября 2019

Вам необходимо включить аудит базы данных. Вы должны быть в состоянии сделать это с ответственностью администратора.

...