如何防止SQL开发人员 错误执行某些SQL(避免开发人员错误执行DML操作)?

samyp1234 2018-06-11 02:51:35
有1个sql开发人员,错误执行了一个update操作,执行成功了,其他session看到执行后的结果了;无法回滚了;

如何避免以后,再出现类似的情况呢?

对比来说:ORACLE中,如果出现错误执行update后,可以通过flashback table 的方式,闪回表;
SQLSERVER 没有类似的功能吗 ?


...全文
379 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lich2005 2018-06-13
  • 打赏
  • 举报
回复
如果表不大,但是对表内容不熟悉的话,可以先做一个备份再来更新 1) SELECT * INTO TB1_BACKUP FROM TB1; 2)UPDATE TB1 SET ... 或者用事务,查看数据都正确更新了再提交 COMMIT,不过 SQL Server的玩家似乎都不喜欢这样,老司机偶尔也会出事故,对吧,全凭小心了。
OwenZeng_DBA 2018-06-12
  • 打赏
  • 举报
回复
没有类似的功能。其他的的解决办法: 1.利用日志,还原到某个时间点,找到修改前的数据。 2.做个数据库异步同步,延迟1-5分钟。可以从这个异步副本中找回数据库 3.权限管控,,让开发人员不要随便去生产库上做DML
吉普赛的歌 版主 2018-06-11
  • 打赏
  • 举报
回复
https://blog.csdn.net/yenange/article/details/50512312 其实所谓的错误, 不怕一条两条, 最怕的是没有带 where , 全部更新或删除了。 虽然可以恢复, 但太麻烦
二月十六 版主 2018-06-11
  • 打赏
  • 举报
回复
可以用log explorer(08之前)或者ApexSQLLog回复数据
卖水果的net 版主 2018-06-11
  • 打赏
  • 举报
回复
在 ORACLE 中, flashback 表,实际上是利用了UNDO 表空间的原因。 而 MSSQL 没有 UNDO 机制,只有 REDO 。 所有 在 MSSQL更新错了,要第一时间备份日志,再配合之前的完整备份,做实点还原。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧