首页 / 知识

关于sql server:Date object last modified

2023-04-16 07:15:00

关于sql server:Date object last modified

Date object last modified

如何找出 MS SQL Server 2000 对象的最后修改日期?

我需要获取自 8 月 15 日以来修改的所有视图、过程、函数等的列表。在 sysObjects 中,我可以看到创建对象的日期,但我需要知道它们上次更改的时间。

注意:这是一个 SQL 2000 数据库。


我知道这有点旧,但是可以使用以下查询查看存储过程和函数的最后更改日期:

1
2
USE [Your_DB]    
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

我只是想提一下这个很好,因为我搜索了这个解决方案并且这个帖子具有误导性。


我已通过以下查询得到修改日期的上述任何程序历史记录的确认答案

步骤 -1 在 DB

上执行过程

1
2
3
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'p'

步骤-2
然后使用 headers

将文本复制到 Excel

选择路由列,然后将确切的过程名称粘贴到^F窗口并按回车
您将获得准确的修改日期。

问候,
苏迪尔
浦那


请注意,SQL Server 实际上并不记录最后修改日期。它不存在于任何系统表中。

架构更改历史报告实际上是从默认跟踪构造的。由于许多管理员(和网络主机)将其关闭,它可能不适合您。
Buck Woody 很好地解释了这份报告在这里的运作方式。数据也是临时的。

因此,您永远不应依赖架构更改历史报告。替代品:

  • 使用 DDL 触发器将所有模式修改记录到您选择的表中。
  • 执行一个协议,其中视图和过程永远不会改变,它们只会被删除和重新创建。这意味着创建日期也将是最后更新日期(这显然不适用于表格)。
  • 在源代码控制中谨慎地对 SQL 对象和架构进行版本控制。

--

编辑:看到这是 SQL 2000。排除了默认跟踪和 DDL 触发器。剩下的就是我上面列出的比较乏味的选项之一。


这并不总是正确的,因为 modify_date 是使用 ALTER 语句最后修改对象的日期。如果对象是表或视图,则 modify_date 也会在创建或更改表或视图的聚集索引时更改。


修改日期对象视图

最新内容

相关内容

猜你喜欢