sqlserver中的事务回滚问题

丿Time丶如刀 2019-02-12 05:30:50
删除一张一亿条数据的表,字段有50个左右,delete大概一个半小时,然后取消了,这时候表被事务回滚锁住了,现在想把这张表解锁,然后truncate掉,这张表要如何操作才能解除被锁状态
...全文
430 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2019-02-15
  • 打赏
  • 举报
回复
这个说实话, 没有什么很好的办法。 只有等。 如果不愿意等, 那就: 1. 备份原库; 2. 停 sqlserver 服务; 3. 取出 mdf 文件(不要 ldf文件), 用代替法欺骗 sqlserver , 得到可用库。https://blog.csdn.net/yenange/article/details/77932573 但这个办法是有风险的, 可能丢失数据。比较重要的库不建议这么做。 另外, 以后再大量删除, 就不要一口气删了, 应该分小批循环删除。 当然, 全部不要可以 truncate table 。 绝大部分不要, 可以: 1. 插入需要的新表, 2. 旧表改名为 xxx_old 3. 新表改名为 旧表原来的名字。
薛定谔的DBA 2019-02-15
  • 打赏
  • 举报
回复
唐诗三百首 2019-02-12
  • 打赏
  • 举报
回复
先kill掉那个执行delete的进程ID, 确认kill成功后, 执行truncate命令.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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