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

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

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

===============>>#1 票数:13

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

USE [Your_DB]    
SELECT * FROM INFORMATION_SCHEMA.ROUTINES

只是觉得提起这个很好,因为我搜索了这个非常有效的解决方案而且这个帖子很容易引起误解。

===============>>#2 票数:6 已采纳

需要注意的是SQL Server实际上记录最后修改日期。 它在任何系统表中都不存在。

“架构更改历史记录”报告实际上是根据“ 默认跟踪”构建的。 由于许多管理员(和网络主机)关闭它,它可能不适合你。 巴克伍迪过的这份报告是如何工作的一个很好的解释在这里 数据也是暂时的。

因此,您永远不应该依赖于“架构更改历史记录”报告。 备择方案:

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

-

编辑:看到这是SQL 2000.这排除了默认跟踪和DDL触发器。 你留下了我上面列出的一个比较繁琐的选项。

===============>>#3 票数:5

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

步骤-1在DB上执行该过程

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

步骤-2然后使用标题将文本复制到Excel

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

此致,Sudhir Pune

===============>>#4 票数:1

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

  ask by Mark Plumpton translate from so

未解决问题?本站智能推荐:

3回复

如何修改日期列的值?

使用SQL Server 2000,日期列数据类型为varchar ... 在我的表格日期列值如下: 我想显示2009/01/31而不是2009/02/00,如果日期是2009/02/00,则应该显示以前的日期。 如何查询这种情况?
4回复

如何更改日期格式

表: 我想这样更改日期格式(yyyymmdd) 尝试查询 显示错误 Ю数学表达式溢出 显示相同的值23/02/2009 上面的查询不起作用。 预期产量 如何查询?
8回复

SQL获取上次日期时间记录[重复]

这个问题在这里已有答案: SQL Server:仅选择MAX(DATE) 9个答案的行 我正试图从碰巧存储多个状态的表中获取最后一个日期时间记录。 我的表看起来像这样: 结果应该是
2回复

上次执行存储过程

在Sql Server 2000上,有没有办法找出上次执行存储过程的日期和时间?
3回复

SQL Scheduled作业查询,上次运行的持续时间?

以前使用此SQL代理作业,如何获取有关所有SQL Scheduled作业的信息的文档 。 如何找出每项工作的最后一次运行的持续时间? 我需要秒,分钟和小时(希望不是,但我害怕)。 任何人都可以透露一下如何查询这个问题吗?
5回复

如何按日期过滤列

使用SQL Server 2000 表格1 从table1 ,我想显示id和日期为null或日期等于当前月份.. 条件 例如当前月份是02/2012意思,我想显示id 003和004,因为003 date为null,004 date等于当前月份日期... 如
1回复

修改后的SQL查询未显示所有结果

我有一个简单的查询,列出了具有多个开放服务工作的客户端。 这将产生11个结果。 我需要添加另一个字段来显示(link_to_contract_header) 但是当我将其添加到查询中时,我只会得到9个结果 所以我要去哪里错了?
8回复

按日期排序显示NULLS首先是最近的日期

我有一个执行select语句的存储过程。 我希望我的结果按日期字段排序,并显示所有记录首先是NULL日期,然后是最近的日期。 声明如下: 现在,这将首先显示所有具有NULL提交日期的记录,但是当我到达具有日期值的行时,它们不是视图中的最新日期。 如果我用DESC替换ASC,
1回复

如何在不创建新数据库对象的情况下生成日期序列?

我需要创建一个查询,该查询返回从2013年4月到现在的年份和月份,如下所示: 它必须与SQLServer 2000兼容,并且我在SE上找到的所有解决方案都仅与SQLServer2005 +兼容。 有没有办法解决这个(非常)旧的SGBD? 如果没有解决方案,我会考虑创建一个数字
3回复

如何获得最近日期的总数

使用SQL Server 2000 我想获得每个id的总数的最大值(日期)。 我想获取每个ID的总数的最大值(日期)。 试过查询 获取错误消息为 “除非聚集在HAVING子句或选择列表中包含的子查询中,否则聚集可能不会出现在WHERE子句中,并且正在聚集的列是外