如何在表sql 2005上告知上次更新/插入活动

时间:2009-04-22 14:31:47

标签: sql sql-server-2005 metadata

我试图找出我们的sql 2005 db中的特定表的最后一次插入/更新的时间。数据没有时间戳,所以我不能这么说。那里有没有可以帮助我的dmv?

谢谢, 马力

重复How to find recent sql update operations acting upon a certain table (SQL Server 2005)

2 个答案:

答案 0 :(得分:0)

我找到了一个可以帮助你的链接:

来自blog.sqlauthority.com的

Last Update Time

该帖子的一部分包含此代码:其中'AdventureWorks'是目录名称,'test'是表名

SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'AdventureWorks')
AND OBJECT_ID=OBJECT_ID('test')

答案 1 :(得分:0)

此代码:

SELECT OBJECT_NAME(OBJECT_ID) AS DatabaseName, last_user_update,*
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID( 'AdventureWorks')
AND OBJECT_ID=OBJECT_ID('test')

工作正常,但如果查看源表:sys.dm_db_index_usage_stats,您将意识到必须对表进行索引才能使它们显示在此处。您可能认为所有表都已编制索引,我们为数据仓库创建快照,并且不需要为这些表编制索引,但是我们确实希望在上次更新时向人们显示。

虽然看起来如果在没有索引的SQL中创建表并更新它/添加数据,sys.dm_db_index_usage_stats会更新。我们使用SSIS更新表,并且sys.dm_db_index_usage_stats中没有表的条目。