Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
REBUS
Member

Откуда: Астана
Сообщений: 213
Ситуация такая:
Есть база данных в MS SQL Server 2005.
Доступ к базе открыт только определенной группе пользователей из Active Directory.

1) Где можно просто посмотреть лог доступа и работы с базой данной MS SQL Server 2005?
Кто когда заходил и что делал?

2) И лог, где будет видно доменное имя? Где найти?
типа такого "DOMEN\USER1 подключился к базе БАЗА1",
типа такого "DOMEN\USER1 проводил изменения в базе БАЗА1".

Прошу помочь - кто знает. Нужно очень:)
12 ноя 09, 15:28    [7921286]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
если вы заранее не озаботились созданием подобного лога (используя стандартные настройки\тулзы или собственные скрипты) то ни где и ни как.
12 ноя 09, 15:30    [7921316]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
REBUS
Member

Откуда: Астана
Сообщений: 213
Где эти стандартные настройки находятся? и где потом логи можно посмотреть?
12 ноя 09, 15:32    [7921334]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
аудит
--------------------------------------------------------------
Дьявол кроется в деталях.
12 ноя 09, 15:36    [7921371]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
REBUS
Member

Откуда: Астана
Сообщений: 213
Дедушка
аудит

Спасибо.
13 ноя 09, 07:16    [7923540]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
Случайно шёл мимо
Guest
Если у вас опция default trace enabled стоит в состоянии 1, то можно из файла трассировки вытащить немного данных о последнем посещении БД пользователями.
Я использую иногда:
SELECT 
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   Min(I.StartTime) as first_used,
   Max(I.StartTime) as last_used,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name
FROM
   sys.traces T CROSS Apply
   ::fn_trace_gettable(CASE 
                          WHEN CHARINDEX( '_',T.[path]) <> 0 THEN 
                               SUBSTRING(T.PATH, 1, CHARINDEX( '_',T.[path])-1) + '.trc' 
                          ELSE T.[path] 
                       End, T.max_files) I LEFT JOIN
   sys.server_principals S ON
       CONVERT(VARBINARY(MAX), I.loginsid) = S.sid  
WHERE
    T.id = 1 And
    I.LoginSid is not null
Group By
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name
13 ноя 09, 10:59    [7924362]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
REBUS
Member

Откуда: Астана
Сообщений: 213
Случайно шёл мимо
Если у вас опция default trace enabled стоит в состоянии 1, то можно из файла трассировки вытащить немного данных о последнем посещении БД пользователями.
Я использую иногда:
SELECT 
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   Min(I.StartTime) as first_used,
   Max(I.StartTime) as last_used,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name
FROM
   sys.traces T CROSS Apply
   ::fn_trace_gettable(CASE 
                          WHEN CHARINDEX( '_',T.[path]) <> 0 THEN 
                               SUBSTRING(T.PATH, 1, CHARINDEX( '_',T.[path])-1) + '.trc' 
                          ELSE T.[path] 
                       End, T.max_files) I LEFT JOIN
   sys.server_principals S ON
       CONVERT(VARBINARY(MAX), I.loginsid) = S.sid  
WHERE
    T.id = 1 And
    I.LoginSid is not null
Group By
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name


Где находится эта опция "default trace enabled"?

Здесь:

К сообщению приложен файл. Размер - 0Kb
16 ноя 09, 07:31    [7931734]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
REBUS
Member

Откуда: Астана
Сообщений: 213
Случайно шёл мимо
Если у вас опция default trace enabled стоит в состоянии 1, то можно из файла трассировки вытащить немного данных о последнем посещении БД пользователями.
Я использую иногда:
SELECT 
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   Min(I.StartTime) as first_used,
   Max(I.StartTime) as last_used,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name
FROM
   sys.traces T CROSS Apply
   ::fn_trace_gettable(CASE 
                          WHEN CHARINDEX( '_',T.[path]) <> 0 THEN 
                               SUBSTRING(T.PATH, 1, CHARINDEX( '_',T.[path])-1) + '.trc' 
                          ELSE T.[path] 
                       End, T.max_files) I LEFT JOIN
   sys.server_principals S ON
       CONVERT(VARBINARY(MAX), I.loginsid) = S.sid  
WHERE
    T.id = 1 And
    I.LoginSid is not null
Group By
   I.NTUserName,
   I.loginname,
   I.SessionLoginName,
   I.databasename,
   S.principal_id,
   S.sid,
   S.type_desc,
   S.name


Как можно задать даты и имя конкретной базы данных в запросе?
Например: нужно вытащить данные о пользователях, имевших доступ к базе данных База1, за 2009 год.
16 ноя 09, 07:33    [7931736]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
Glory
Member

Откуда:
Сообщений: 104760
REBUS


Где находится эта опция "default trace enabled"?

Здесь:

"default trace enabled" относится к расширенным настройкам(advanced options)
И поэтому задается не в диалогах студии а через выполнение процедуры sp_configure
16 ноя 09, 10:45    [7932230]     Ответить | Цитировать Сообщить модератору
 Re: Где можно посмотреть лог доступа и работы с базой данной MS SQL Server 2005?  [new]
Glory
Member

Откуда:
Сообщений: 104760
REBUS


Как можно задать даты и имя конкретной базы данных в запросе?

А вы не пробовали посмотреть список всех полей, что возвращает fn_trace_gettable ?
16 ноя 09, 10:51    [7932269]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить