如何在SQL Server中跟踪开发环境中的更改

时间:2019-02-20 19:28:53

标签: sql sql-server database

我们的开发团队使用SQL Server并为我们的产品编写存储过程。

对于这些过程或任何其他对象,我们需要诸如版本控制系统之类的东西。

有时我更改了存储过程,而团队中的其他人也对其进行了更改,而我对此一无所知。

有什么解决办法吗?

1 个答案:

答案 0 :(得分:2)

如果您想通过代码来执行此操作,则可以每天或每小时运行一次,以获取在过去一天更改的所有proc的列表:

select * 
from sys.objects 
where datediff(dd, create_date, getdate()) < 1 
   or datediff(dd, modify_date, getdate() < 1) 
   and type = 'P';

或者您可以创建一个ddl触发器:

Create trigger prochanged On database
For create_procedure, alter_procedure,  drop procedure
as 
begin
    set nocount on

    Declare @data xml
    set @data = Eventdata()

    -- save @data to a table...
end

这将使您每次创建,更改或删除proc时都能保存各种信息。