有没有办法使用DBC视图来查找数据库模式被更改的最后日期和时间?

时间:2012-12-03 14:11:31

标签: teradata

我想找到在特定数据库上进行任何架构修改的日期和时间。修改类似于已创建,更改或删除的表或列。它不包括已插入,更新或删除的任何数据。

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

1 个答案:

答案 0 :(得分:2)

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

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