【问题标题】:How to get last access date for a SQL Server database?如何获取 SQL Server 数据库的最后访问日期?
【发布时间】:2012-11-29 14:16:43
【问题描述】:

我的开发服务器越来越拥挤。

我想查看访问数据库的日期以确定可以删除哪些数据库。有没有办法做到这一点?

我在搜索时唯一发现的是 postgredb:

How to get last access/modification date of a PostgreSQL database?

【问题讨论】:

  • “访问”是什么意思?你的意思是有人连接到数据库但什么也没做?有人运行了SELECT 查询;有人执行了 DML;有人执行了 DDL...?一般来说,除非你告诉它,否则 SQL Server 不会记录太多,除非关于用户活动,但系统目录中有一些内容(如sys.objects.modify_date)。您最好的解决方案可能只是运行一段时间的跟踪并观察典型活动。或者,由于它是开发服务器,只需将数据库设置为离线,看看谁在抱怨。
  • 我们在这里做的是通过一个 webapp 连接,它总是将数据写入一个表,或者运行一个查询。我们不会对桌子做任何事情。
  • 简单:将那些您怀疑不再使用的数据库离线 - 听听谁在大喊大叫! :-)

标签: sql-server-2008


【解决方案1】:

如果您有一个始终插入值的表,您可以将触发器添加到更新/插入。在此触发器中,您可以在专用数据库中设置当前时间戳,包括发生插入的数据库的名称。

这种方式对数据库的唯一要求是它支持触发器。

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2014-04-09
    • 2019-05-22
    • 1970-01-01
    相关资源
    最近更新 更多