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

Откуда:
Сообщений: 109
Добрый день!

У нас есть SQL server 2008R2 выделенный специально для разработчиков. На нем они вольны создавать себе базы, тренироваться, тестировать и т.д. и т.п. Разработчиков много, баз еще больше, хотелось бы каким-то образом отслеживать какие их баз не были востребованы ну скажем за последний месяц.
LOGON TRIGGER у меня себя почему-то не оправдал, поскольку практически всегда подключение идет к master, а уже потом use database.

Может быть есть какое-нибудь системное представление где хранится такая дата или ее можно косвенным образом как-то вычислить?

---
Мой скилл в SQL = количеству сообщений на этом форуме
11 фев 13, 15:34    [13909370]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
Glory
Member

Откуда:
Сообщений: 104751
А что для вас есть "обращение к базе" ?
use database
go
use master

это обращение или нет ?
11 фев 13, 15:35    [13909383]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
ybill
Member

Откуда:
Сообщений: 109
Glory,
В идеале - да :), в качестве промежуточного варианта хотелось бы отлавливать
use database
select field from table

но на крайний случай - insert/update/delete

Сейчас я просто отслеживаю дату изменения файлов логов для баз и она дает мне хоть какой-то ориентир.
11 фев 13, 15:55    [13909510]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
Glory
Member

Откуда:
Сообщений: 104751
Если все таблицы имеют индексы, то
sys.dm_db_index_usage_stats

Лог вызовов процедур/функций/команд, которые не используют таблиц базы, задним числов невозможен.
11 фев 13, 16:04    [13909569]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
ybill
Member

Откуда:
Сообщений: 109
Glory, точно! Спасибо, этого вполне достаточно
11 фев 13, 16:05    [13909579]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
https://connect.microsoft.com/SQLServer/feedback/details/659846/database-last-accessed-time

плюсуйте
11 фев 13, 16:08    [13909596]     Ответить | Цитировать Сообщить модератору
 Re: Дата последнего обращения к базе  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
ybill
Glory, точно! Спасибо, этого вполне достаточно
SELECT 
  DB_NAME(db.database_id) DatabaseName, 
  MAX(CASE WHEN ISNULL(s.last_user_seek, '1900-01-01') > ISNULL(s.last_user_scan, '1900-01-01') 
      THEN 
        CASE WHEN ISNULL(s.last_user_seek, '1900-01-01') > ISNULL(s.last_user_lookup, '1900-01-01') 
        THEN 
          s.last_user_seek
        ELSE
          s.last_user_lookup
        END
      ELSE 
        CASE WHEN ISNULL(s.last_user_scan, '1900-01-01') > ISNULL(s.last_user_lookup, '1900-01-01') 
        THEN 
          s.last_user_scan
        ELSE
          s.last_user_lookup
        END          
      END) AS last_user_read,
  MAX(last_user_update) AS last_user_update,
  db.create_date AS db_create_date
FROM sys.databases db
  LEFT JOIN sys.dm_db_index_usage_stats AS s ON s.database_id = db.database_id
GROUP BY DB_NAME(db.database_id), db.create_date
ORDER BY last_user_read, last_user_update
13 фев 13, 03:40    [13917678]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить