首页 > 解决方案 > 如何在 SQL Server 中获取存储过程修改历史记录?

问题描述

我想编写一个查询以获取结果,该结果应包含存储过程的所有修改详细信息,例如LastModifiedTimeLastModifiedBy我们使用 Windows 身份验证),如果可能的话,还可以获得有关特定修改中修改内容的信息。

我已经写了下面的查询但是还不够,它只给出了最后修改的信息,请指导我

select 
[database name] = db_name() 
,[schema name] =  SCHEMA_NAME([schema_id])
,name [stored proc name]
,create_date [create date]
,modify_date [last modify date]
from sys.objects
where type = 'P'
and name = 'spName'

标签: sql-servertsqlstored-proceduressql-server-2017sql-server-2019

解决方案


您可以使用 DDL 触发器来创建更改日志。

请参阅https://www.mssqltips.com/sqlservertip/2085/sql-server-ddl-triggers-to-track-all-database-changes/

但是,这仅对创建 DDL 触发器后发生的更改有用。


推荐阅读