首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上次修改日期对象

问上次修改日期对象
EN

Stack Overflow用户
提问于 2008-09-16 23:55:18
回答 4查看 46.2K关注 0票数 7

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

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

注意:这是一个SQL2000数据库。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-09-17 00:21:16

请注意,SQL Server实际上不会对上次修改日期进行记录。它不存在于任何系统表中。

架构更改历史记录报告实际上是从Default Trace构建的。由于许多管理员(和网络主机)关闭了它,它可能不适合你。巴克·伍迪很好地解释了这份报告是如何工作的,here。数据也是临时的。

因此,您永远不应该依赖Schema Changes History报告。替代方案:

  • 使用DDL Triggers将所有模式修改记录到choosing.
  • Enforce的表中。在该协议中,视图和过程永远不会更改,它们只会被删除并重新创建。这意味着创建日期也将是最后更新日期(这显然不适用于表)。
  • 警惕地在源代码管理中对您的SQL对象和模式进行版本控制。

--

编辑:看到这是SQL2000。这就排除了默认的跟踪和DDL触发器。剩下的就是我上面列出的一个更繁琐的选项了。

票数 6
EN

Stack Overflow用户

发布于 2010-02-27 00:12:00

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

代码语言:javascript
复制
USE [Your_DB]    
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

我只是觉得提到这一点会很好,因为我搜索了这个解决方案,但这个帖子具有误导性。

票数 14
EN

Stack Overflow用户

发布于 2014-03-18 15:09:40

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

第1步-在DB上执行过程

代码语言:javascript
复制
SELECT name, create_date, modify_date 
FROM sys.objects
WHERE type = 'p' 

步骤-2然后将文本复制到带有标题的Excel中

选择route coloumn,然后将确切的过程名称粘贴到^F窗口中,然后按enter,您将获得确切的修改日期。

问候,Sudhir Pune

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/78471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档