探究MSSQL中查找改表时间的技巧(mssql查找改表时间)

2023-04-15 08:03:03 时间 查找 探究

MSSQL中查找改表时间是好几种操作,但最重要的一种方法就是利用SQL语句查询表的创建时间和修改时间。

1、第一种查找改表时间的技巧,便是使用内置函数Sys.Tables。Sys.Tables可以帮助我们获得表的创建时间,其语法如下:

SELECT name, create_date 
FROM sys.tables
WHERE type ='U'
ORDER BY create_date DESC;

其中,type=’U’表示“用户表”,根据create_date字段可以查出改表的创建时间,可以进行排序。

2、第二种技巧是查看索引。在查找表的修改时间时,对于sql server 2008版本,可以利用以下语句查看改表的最近更新时间:

“`

SELECT OBJECT_NAME(Object_id) Table_Name,

agg.[name] Index_Name,

CONVERT(VARCHAR(20), agg.refresh_date, 102) Refresh_Date

FROM sys.dm_db_incremental_stats_properties ( DB_ID(), NULL, NULL, NULL ) agg

INNER JOIN sys.indexes ind on agg.object_id = ind.object_id

GROUP BY agg.[name], agg.refresh_date, ind.object_id

refresh_date语句查出的是改表的最后更新时间,可进行排序来查看。 
3、第三种技巧就是用change_tracking方法。可将以下语句放入MSSQL:

SELECT CONVERT(VARCHAR(15), sys.fn_cdc_get_min_lsn(‘Table_Name’),112)+’003′

函数fn_cdc_get_min_lsn可以帮我们查出改表的修改时间。
总结,除了使用简单的Sys.Tables函数以外,可以利用索引、change_tracking等技巧查询MSSQL中改表时间。此外,如果类型错误,可以考虑也用相关函数查找对应表类型,并根据给定表类型在其中进行查询。

相关文章