0

我想查找在特定数据库上进行任何模式修改的日期和时间。修改是诸如已创建、更改或删除的表或列之类的东西。它不包括任何已插入、更新或删除的数据。

我需要这个的原因是因为我正在编写一个 .NET 实用程序,它严重依赖于从dbc.tablesdbc.columnsdbc.indices. 由于查询这些视图可能是一项非常昂贵的操作,因此我想将其全部读入自定义业务对象,然后将对象序列化为存储在磁盘上的 XML 文件。这样,我可以在需要时反序列化数据,除非数据库的 current_timestamp 大于或等于上次模式更改的日期时间,此时我将使用更新的模式刷新本地 XML 文件。

4

1 回答 1

2

LastAlterTimestamp- 如果等于,CreateTimestamp则对象自创建或替换后未被修改。当特定于该数据字典对象的属性被更新时,它会被更新。

例如,当添加、删除或更改子对象(表、视图、宏、存储过程、函数等)时,不会更新 DBC.Databases.LastAlterTimestamp。它会在密码、默认角色、配置文件或帐户更改等情况下更新。

于 2012-12-03T15:14:44.313 回答