0

如果我们想获取数据库中发生的更改,我们将通过 sys.objects 或 sys.tables 获取。但我们只获取它的表名。但是如何通过表名以及添加到该表的列或已修改的列(数据类型或约束)来获取。

例如,如果我添加了名为 deptid 的员工表列,它应该显示在给定日期的更改中

tablename,modified or added column 
4

2 回答 2

0

据我所知,通过系统视图没有支持的方法来做到这一点。

您可以做的是在要监视的数据库对象上设置DDL 审计触发器,或者如果数据库处于完全恢复模式,则尝试读取事务日志。

只有当您现在想开始审核时,审核触发器才会有帮助,而读取事务日志可能会为您提供有关数据库中所做更改的一些历史数据。

在 sql server 2008 中读取日志文件 (*.LDF)

sql server 2008如何查看事务日志

于 2013-09-04T13:52:04.897 回答
0

您似乎正在寻找更改跟踪。

请参阅http://technet.microsoft.com/en-us/library/cc280462(v=sql.105).aspx

于 2013-09-04T07:57:35.613 回答