可能重复:
确定架构更改是如何发生的?
我有一个昨晚深夜修改过的存储过程,早上的大部分时间都在跟踪这个变化。
基本上没有人承认这一变化,所以我试图弄清楚如何找到谁修改了这个存储过程。我已经在网上研究了如何找到这个,但看起来这是不可能的?
我想如果有人知道如何做到这一点,那就是这里的某个人。
我确实试过这个。:
“在 SSMS 中,右键单击服务器名称,选择报告/标准报告/架构更改历史记录。” --> 这并没有给我任何东西,但我至少能够运行它,这为我提供了时间。
select name, create_date, modify_date
from sys.procedures
where name = 'mystoredprocedure'
感谢您的任何建议或指导。
我知道这并不能解决您当前的问题,但是主动管理此类事件的最佳方法可能是创建一个 DDL 数据库触发器,将事件记录到设计日志表中,例如:
此特定 DDL 触发器不会记录某些事件,例如
UPDATE STATISTICS
、INDEX REBUILD
、 ANDINDEX REORGANIZE
。我们对记录这些事件不感兴趣,因为这些事件发生在我们每晚的数据库维护任务中,因此会排挤开发人员所做的有意义的更改。此特定触发器的优点是它捕获事件的实际 SQL 文本,从而创建对数据库中所有对象所做更改的日志。这允许您恢复到任何给定对象的先前版本 - 一种手动修订控制系统。