2010-10-13 43 views
6

我有一个SQL Server 2000盒子,其中有些数据库可能不再使用。我想先清理它们,先将它们脱机,然后再一起移除它们。问题是,我不知道如何分辨哪些仍然被积极使用(外部资源可能会或可能不会连接到它们,使用它们等)如何确定哪些数据库正在SQL Server 2000上使用

有没有办法告诉时间每个数据库上最后一项活动的数据?我知道SQL Server在sys表中保留了一些记录,但我不确定这里存储了什么。如果我所需要的东西在那里找不到,那么我是否可以设置一些功能来跟踪此时的使用情况?理想情况下,我希望能够看到“到目前为止”的使用情况,但“从这一点出发”总比没有好。谢谢。

+1

相关:http://www.eggheadcafe.com/software/aspnet/31922893/how-to-get-details-of-when-database-was-last-used.aspx – 2010-10-13 15:41:26

+0

我跑过以下两个网站:http://www.kodyaz.com/articles/sql-server-last-database-access-using-processes-or-database-audit-specifications.aspx和http://technet.microsoft.com/en-us /library/dd277388.aspx随时提供有关这些的任何反馈......都属于“从这一点起”的类别,但它们看起来可能有用。 – 2010-10-13 17:23:57

回答

2

尝试打开审计登录到SqlServer。根据使用的用户帐户,您可以查看该数据库是否被使用。 审计可以在这里找到:

EnterpriseManager -> Right click database server -> Properties 
-> Security -> Audit Level -> set to All 

这将填补你可以/Management/SqlServerLogs下看到的日志和该日志通常也保存在这里C:\Program Files\Microsoft SQL Server\MSSQL\log\,所以你可以通过解析&搜索。

+0

好吧,我只是看到了Jeremy Wiggins的评论链接 - 基本上它...... – veljkoz 2010-10-14 12:00:25

0

据我所知,SQL Server没有内置任何东西给你一个“上次使用”的日期/时间。展望未来,您可以通过定期运行这样的查询来跟踪使用情况。

select db_name(dbid), count(*) 
    from master..sysprocesses 
    group by db_name(dbid) 
    order by db_name(dbid) 
相关问题