【问题标题】:Get the list of stored procedures created and / or modified on a particular date?获取在特定日期创建和/或修改的存储过程列表?
【发布时间】:2012-09-28 11:20:34
【问题描述】:

我想查找我创建了哪个存储过程,还想查找我在特定日期(例如 2012 年 9 月 27 日(27/09/2012))在我的 SQL Server 中修改了哪个存储过程。

是否有任何查询可以列出在该日期创建和修改的这些程序?

【问题讨论】:

    标签: sql sql-server sql-server-2008 sql-server-2005


    【解决方案1】:

    您可以在任何给定的 SQL Server 数据库中尝试此查询:

    SELECT 
        name,
        create_date,
        modify_date
    FROM sys.procedures
    WHERE create_date = '20120927'  
    

    其中列出了名称、创建和最后修改日期 - 不幸的是,它没有记录创建和/或修改了相关存​​储过程。

    【讨论】:

    【解决方案2】:

    这里是“新学校”版本。

    SELECT * FROM INFORMATION_SCHEMA.ROUTINES
    WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' 
    and CREATED = '20120927'
    

    【讨论】:

    • 您能否提供任何说明使用INFORMATION_SCHEMA 将是当前首选方式(或“较新的学校”)的来源?
    • 我没有说“首选”。 “较新”,例如,它在以后的时间里变得可用。并从 Sql Server 2005 开始。msdn.microsoft.com/en-us/library/ms186778%28v=sql.90%29.aspx 一个轻微的优势是,如果您处理多个 RDBMS 系统,那么您正在学习一种标准,而不是一种专有方法。 en.wikipedia.org/wiki/Information_schema
    • INFORMATION_SCHEMA.ROUTINES 表有ROUTINE_DEFINITION 列(这是存储过程的sql 代码),而sys.procedures 没有。
    【解决方案3】:
    SELECT name
    FROM sys.objects
    WHERE type = 'P'
    AND (DATEDIFF(D,modify_date, GETDATE()) < 7
         OR DATEDIFF(D,create_date, GETDATE()) < 7)
    

    【讨论】:

      【解决方案4】:
      SELECT * FROM sys.objects WHERE type='p' ORDER BY modify_date DESC
      
      SELECT name, create_date, modify_date 
      FROM sys.objects
      WHERE type = 'P'
      
      SELECT name, crdate, refdate 
      FROM sysobjects
      WHERE type = 'P' 
      ORDER BY refdate desc
      

      【讨论】:

      • 嗨 Abhik kashyap singh,欢迎来到 Stack Overflow。我对您的回答有一点意见:您的代码可能是正确的,但在某些情况下,它会是一个更好的答案;例如,您可以解释这个提议的更改如何以及为什么会解决提问者的问题,可能包括指向相关文档的链接。这将使它对他们更有用,对正在寻找类似问题的解决方案的其他网站读者也更有用。
      【解决方案5】:

      对于 SQL Server 2012:

      SELECT name, modify_date, create_date, type
      FROM sys.procedures
      WHERE name like '%XXX%' 
      ORDER BY modify_date desc
      

      【讨论】:

        猜你喜欢
        • 2015-10-11
        • 1970-01-01
        • 2016-12-09
        • 2013-03-11
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 2011-03-10
        • 1970-01-01
        相关资源
        最近更新 更多