如何查找上次修改MS SQL Server 2000对象的日期?
我需要获得自8月15日以来修改过的所有视图,过程,函数等的列表。 在sysObjects中,我可以看到日期对象已创建,但我需要知道它们最后被修改的时间。
注意:这是一个SQL 2000数据库。
如何查找上次修改MS SQL Server 2000对象的日期?
我需要获得自8月15日以来修改过的所有视图,过程,函数等的列表。 在sysObjects中,我可以看到日期对象已创建,但我需要知道它们最后被修改的时间。
注意:这是一个SQL 2000数据库。
我知道这有点旧,但是可以使用此查询查看存储过程和函数的最后更改日期:
USE [Your_DB]
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
只是觉得提起这个很好,因为我搜索了这个非常有效的解决方案而且这个帖子很容易引起误解。
需要注意的是SQL Server实际上不记录最后修改日期。 它在任何系统表中都不存在。
“架构更改历史记录”报告实际上是根据“ 默认跟踪”构建的。 由于许多管理员(和网络主机)关闭它,它可能不适合你。 巴克伍迪过的这份报告是如何工作的一个很好的解释在这里 。 数据也是暂时的。
因此,您永远不应该依赖于“架构更改历史记录”报告。 备择方案:
-
编辑:看到这是SQL 2000.这排除了默认跟踪和DDL触发器。 你留下了我上面列出的一个比较繁琐的选项。
我已经确认上述任何程序的答案修改日期的历史记录以下查询
步骤-1在DB上执行该过程
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'p'
步骤-2然后使用标题将文本复制到Excel
选择route coloumn然后将确切的程序名称粘贴到^ F窗口并按Enter键,您将获得确切的修改日期。
此致,Sudhir Pune
这并不总是正确的,因为modify_date是使用ALTER语句上次修改对象的日期。 如果对象是表或视图,则在创建或更改表或视图上的聚簇索引时,modify_date也会更改。