我有一个SQL Server 2000盒子,里面有几个数据库,其中一些可能已经不再使用了。我想首先将它们脱机,然后将它们全部一起删除。问题是我不知道如何分辨哪些仍然被积极使用(外部来源可能连接也可能不连接,使用它们等)。
有没有办法告诉每个数据库上次活动的时间?我知道SQL Server会保留sys表中某些内容的记录,但我不确定那里存储的是什么。如果在那里找不到我需要的东西,那么我可以设置一些东西来跟踪这一点的用法吗?理想情况下,我希望能够“达到这个时间点”,但“从这一点开始”将比没有好。感谢。
答案 0 :(得分:2)
尝试启用审核以登录SqlServer。根据使用的用户帐户,您可以查看是否使用了该数据库。 审计可以在这里找到:
EnterpriseManager -> Right click database server -> Properties
-> Security -> Audit Level -> set to All
这将填写您在/Management/SqlServerLogs
下可以看到的日志,并且该日志通常也会保存在此处C:\Program Files\Microsoft SQL Server\MSSQL\log\
,因此您可以解析&搜索它。
答案 1 :(得分:0)
据我所知,SQL Server中没有任何内置功能可以为您提供“上次使用”的日期/时间。展望未来,您可以定期运行此类查询来跟踪使用情况。
select db_name(dbid), count(*)
from master..sysprocesses
group by db_name(dbid)
order by db_name(dbid)