Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
Добрый день. есть сервер 2005-последний сп
На нём 30 различных баз...... я его первый раз в глаза вижу.....
Необходимо удалить - те базы, которые не используются, как узнать кто обращался последний раз к базе и когда?? - с учетом того ,что трассировки и логирования такие не велись
10 сен 09, 09:55    [7640220]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
https://www.sql.ru/forum/actualthread.aspx?tid=694163
10 сен 09, 09:57    [7640229]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
ТАРАКАН,

Разговор там о 2008-ом ,в 2005 нет аудита такого...
Есть профайлер да, но мониторить запросы к базе я могу - только начиная с сегодняшнего дня..
А мне надо - получить информацию - когда последний раз ,кто обращался к базе ??
вопрос открыт..
10 сен 09, 10:05    [7640263]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
Если вы заранее не включили аудит(трассировку или на nhbuthf[) - то не узнате.
10 сен 09, 10:19    [7640351]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
--__Александр__--
Member

Откуда:
Сообщений: 2631
* на тригерах.
10 сен 09, 10:20    [7640353]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
--__Александр__--,

да я вот тоже думаю ,как извернуться..чтоб узнать, а не ждать неделю - нового аудита
10 сен 09, 10:23    [7640364]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5111
Ну-у-у... теоретически можно попробовать посмотреть на Index Usage Statistics из стандартных репортов, но...
--------------------------------------------------------------
Дьявол кроется в деталях.
10 сен 09, 10:25    [7640376]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
Дедушка,

Да ,но может к таблице без индексов обращались ......а к таблице с индексами нет... тоже мысль по индексам отпала (
10 сен 09, 10:28    [7640388]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
сравнить размеры бекапов сделанных неделю назад и вчера :)
базы которые подозреваются в неиспользовании перевести в оффлине и ... ждать звонка, при етом быть на готове перевести базы в онлайн :)
10 сен 09, 10:28    [7640390]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
Spartakich,

точно - это наш пацанский метод ,так и сделаю)
10 сен 09, 10:42    [7640470]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
Только сначала конечно же, поставлю аудит - на 2-3 недели ...нет обращений - килл
10 сен 09, 10:43    [7640477]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
попробуйте проанализировать это:

SELECT DISTINCT TOP 10 
  ss.session_id,
  host_name,
  program_name,
  login_name,
  ss.last_request_end_time
FROM
  sys.dm_exec_query_stats s
  INNER JOIN sys.dm_exec_requests r ON
  s.sql_handle = r.sql_handle
  INNER JOIN sys.dm_exec_sessions ss ON
  r.session_id = ss.session_id 
WHERE
  ss.session_id <> @@spid AND
  ss.session_id > 50
ORDER BY 
  ss.last_request_end_time DESC
10 сен 09, 10:46    [7640493]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
pkarklin,

везде пустой результат - по всем базам
10 сен 09, 10:53    [7640547]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Вопросикк,

Но этот запрос все равно не даст информации о том, кто и когда работал последний раз. Необходимо использовать другие методы "слежения".
10 сен 09, 10:58    [7640588]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Вопросикк
Guest
Вопрос закрыт...
10 сен 09, 11:03    [7640625]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
начиная с 2005 по умолчанию влючена трасеровка, фалы трасеровки складываются в папке MSSQL/../LOG
P.S. если её не отключили
10 сен 09, 11:43    [7640988]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
Воспросикк
Guest
ТАРАКАН,
Да там есть трассировки от месячной давности....
но все события которые там есть - они не говорят об пользовательской активности к сожалению...
кстати я думал что сиквел - включает этот режим аудита - при выставлении с2 audit ....а оказалось что по дефолту он включает
10 сен 09, 13:21    [7641719]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Воспросикк
ТАРАКАН,
Да там есть трассировки от месячной давности....
но все события которые там есть - они не говорят об пользовательской активности к сожалению...
т

ну разве эт не то что вы искали?
10 сен 09, 13:31    [7641801]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Вопросикк

Необходимо удалить - те базы, которые не используются, как узнать кто обращался последний раз к базе и когда??

вот вам и ответ в этих файлах трасировки.
только советую не удалять , а усердно забэкапить и на ленту на всякий случай.
10 сен 09, 13:32    [7641809]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
nrg_fly
Member

Откуда:
Сообщений: 138
Вопросикк
Добрый день. есть сервер 2005-последний сп
На нём 30 различных баз...... я его первый раз в глаза вижу.....
Необходимо удалить - те базы, которые не используются, как узнать кто обращался последний раз к базе и когда?? - с учетом того ,что трассировки и логирования такие не велись


Использую хороший скрипт, правда я его не создавал сам:
USE LAP
GO

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(T.path, 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
11 сен 09, 10:20    [7646074]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать кто обращался к базе?  [new]
nrg_fly
Member

Откуда:
Сообщений: 138
Правда имя базы LAP нужно убрать, это моя локальная база; вставьте имя своей базы.
11 сен 09, 10:21    [7646083]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить