Sql server 2008 如何判断上次访问sql表的时间

Sql server 2008 如何判断上次访问sql表的时间,sql-server-2008,statistics,Sql Server 2008,Statistics,这个问题基本上是这个问题的延伸: 在作者在其博文中作为解决方案提供的查询中,我假设空值意味着自上次SQL Server重新启动以来,没有访问过表 我的问题是:如果最后一次访问是在最后一次SQL重新启动之前,那么有没有办法知道上次访问表的时间?另外,如何判断上次SQL重启的时间?对于SQL server 2008中的SQL server启动时间 select sqlserver_start_time from sys.dm_os_sys_info 对于自服务器重新启动后的最后一次用户访问 se

这个问题基本上是这个问题的延伸:

在作者在其博文中作为解决方案提供的查询中,我假设空值意味着自上次SQL Server重新启动以来,没有访问过表


我的问题是:如果最后一次访问是在最后一次SQL重新启动之前,那么有没有办法知道上次访问表的时间?另外,如何判断上次SQL重启的时间?

对于SQL server 2008中的SQL server启动时间

select sqlserver_start_time from sys.dm_os_sys_info
对于自服务器重新启动后的最后一次用户访问

select DB_NAME(us.[database_id]) as [db], OBJECT_NAME(us.[object_id], us.[database_id]) as [object], 
MAX(us.[last_user_lookup]) as [last_user_lookup], MAX(us.[last_user_scan]) as [last_user_scan], MAX(us.[last_user_seek]) as [last_user_seek] 
from sys.dm_db_index_usage_stats as us 
where us.[database_id] = DB_ID() AND us.[object_id] = OBJECT_ID('tblname')
group by us.[database_id], us.[object_id]; 

我每天记录此表,以便在重新启动后保存它。在删除它们之后,它还可以作为索引审计

你能让访问数据只允许通过存储过程吗?@mellamokb有很多进程正在进行,很多我甚至还不知道,如果我们这样做的话,这些进程就会中断。从DBA的角度来看,SP是很好的,但从开发人员的角度来看,它们“通常”不会提供显著的好处来弥补它们的缺点。杰夫·阿特伍德(Jeff Atwood)实际上有一篇关于编写恐怖代码的伟大文章,我完全同意: