日期对象上次修改
时间:2020-03-05 18:57:32 来源:igfitidea点击:
如何找出MS SQL Server 2000对象的最后修改日期?
我需要获取自8月15日以来已修改的所有视图,过程,函数等的列表。在sysObjects中,我可以看到对象的创建日期,但是我需要知道它们的最后更改时间。
注意:这是一个SQL 2000数据库。
解决方案
回答
请注意,SQL Server实际上不记录上次修改日期。它在任何系统表中都不存在。
实际上,"架构更改历史记录"报告是从"默认跟踪"构建的。由于许多管理员(和网络主机)都将其关闭,因此它可能不适用于我们。
巴克·伍迪(Buck Woody)对这份报告的工作方式做了很好的解释。数据也是临时的。
因此,我们永远不应依赖"架构更改历史记录"报告。备择方案:
- 使用DDL触发器将所有架构修改记录到我们选择的表中。
- 强制执行一个协议,在该协议中,视图和proc绝不会更改,只能删除并重新创建。这意味着创建的日期也将是最后更新的日期(显然不适用于表)。
- 在源代码管理中警惕地对SQL对象和架构进行版本控制。
--
编辑:看到这是SQL2000。排除了默认跟踪和DDL触发器。我们剩下的是我上面列出的较繁琐的选项之一。
回答
我知道这有点旧,但是可以通过此查询查看存储的过程和函数的最后更改日期:
USE [Your_DB] SELECT * FROM INFORMATION_SCHEMA.ROUTINES
只是以为提到这一点会很高兴,因为我搜索了这种解决方案,并且该线程具有误导性。