Sql server 2008 查找SQL Server数据库中最近的对象更改

Sql server 2008 查找SQL Server数据库中最近的对象更改,sql-server-2008,tsql,Sql Server 2008,Tsql,在过去的三个月里,我为一个特定的数据库和服务器添加了和修改了几个表(新的和现有的) 我在想是否有任何SQL查询可以用来确定所有这些更改 谢谢。查询sys.objects表以查找已更改的对象,并按modify\u date和type进行筛选;U=用户表,P=存储过程 select * from sys.objects where (type = 'U' or type = 'P') and modify_date > dateadd(m, -3, getdate()) 这种方法

在过去的三个月里,我为一个特定的数据库服务器添加了修改了几个表(新的和现有的)

我在想是否有任何SQL查询可以用来确定所有这些更改


谢谢。

查询
sys.objects
表以查找已更改的对象,并按
modify\u date
type
进行筛选;U=用户表,P=存储过程

select * 
from sys.objects 
where (type = 'U' or type = 'P') 
  and modify_date > dateadd(m, -3, getdate()) 

这种方法会告诉你哪些对象发生了变化,但不会告诉你具体的变化。

我认为你找不到你想要的东西。SQL Server只是没有即时跟踪这些信息

为了在将来处理这个问题,您可以使用某种源代码管理(redgate,例如:)


或者您可以设置DDL触发器(此处介绍了一种此类技术:)。

您好,您可以通过此查询获得更改/修改的db对象详细信息

select name,create_date,modify_date
from sys.procedures
order by modify_date desc

谢谢你,谢谢。但结果太多了,还包括其他开发人员的更改。是否有一种方法可以根据实际修改了上述更改的“登录用户”筛选搜索。需要此项,谢谢。如果可能的话,最好也包括相关的数据库名称。我加入了sys.schemas,并收集了schema.name以获得更好的信息。SQL Server确实会跟踪修改日期,如其他答案所示。这不需要第三方软件。为什么这是公认的答案?下面的答案具体回答了这个问题