我更改了一个存储过程,并在不知不觉中覆盖了其他开发人员对其所做的一些更改。有没有办法撤消更改并恢复旧脚本?
不幸的是,我没有该数据库的备份,因此排除了该选项。
答案是YES, you can拿回来,但这并不容易。所有数据库日志every对其进行的更改。你需要:
- 关闭服务器(或至少将其置于只读模式)
- 对服务器进行完整备份
- 获取事故发生前所有数据库日志文件的副本
- 将备份恢复到另一台服务器上
- 使用数据库管理工具,回滚日志文件,直到“撤消”事故
- 检查存储过程中恢复的代码并将其编码回当前版本
最重要的是:将您存储的过程代码置于源代码控制之下
许多人没有理解这个概念:你只能做出改变到数据库;您无法像使用应用程序代码那样通过将文件替换为以前的版本来回滚存储过程版本。要“回滚”,您必须more删除/定义您的存储过程的更改。
挑剔者请注意:我所说的“回滚”并不是指“事务回滚”。我的意思是,您已经进行了更改,并在服务器恢复后决定该更改没有好处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)