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