楼主: 与你零距离

[讨论] SQL Server如何恢复不小心删除的数据?

[复制链接]
招聘 : 数据库开发
论坛徽章:
3
奥运会纪念徽章:网球
日期:2012-06-25 14:58:22慢羊羊
日期:2015-03-04 14:53:332015年新春福章
日期:2015-03-06 11:58:39
21#
 楼主| 发表于 2012-5-21 14:47 | 只看该作者
hwtong 发表于 2012-5-21 14:43
再介绍一个小技巧.
你在update或者delete之前,首先select下需要操作的数据有多少.
之后在update或者d ...

加上top n后能删除全部数据吗?
还是只删除n条?

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
22#
发表于 2012-5-21 14:48 | 只看该作者
与你零距离 发表于 2012-5-21 14:47
加上top n后能删除全部数据吗?
还是只删除n条?

只能删除n条

使用道具 举报

回复
论坛徽章:
13
2012新春纪念徽章
日期:2012-01-04 11:56:19喜羊羊
日期:2015-03-04 14:52:46马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08优秀写手
日期:2013-12-18 09:29:10雪铁龙
日期:2013-09-11 10:30:25雪佛兰
日期:2013-08-07 14:34:372013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2012-11-01 17:05:28迷宫蛋
日期:2012-06-13 15:28:34
23#
发表于 2012-5-21 14:58 | 只看该作者
hwtong 发表于 2012-5-21 14:43
再介绍一个小技巧.
你在update或者delete之前,首先select下需要操作的数据有多少.
之后在update或者d ...

thx,加TOP这个的确是不错,select这个有时候会犯错,有时候select出来是要删的,可是delete时候就忘了点什么造成麻烦,那次小事故给我阴影了,不过也正是那次事故让我将ms sql事务和日志的机制学了个遍...

不过begin tran这个一劳永逸啊,哈哈

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
24#
发表于 2012-5-21 14:59 | 只看该作者
CareySon 发表于 2012-5-21 14:58
thx,加TOP这个的确是不错,select这个有时候会犯错,有时候select出来是要删的,可是delete时候就忘了点什 ...

恩.的确 begin tran也会好点.
可惜sqlserver默认是自动提交...
要是能像Oracle那样有Undo就好了...

使用道具 举报

回复
论坛徽章:
4
2011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:242015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
25#
发表于 2012-5-21 15:02 | 只看该作者
hwtong 发表于 2012-5-21 14:43
再介绍一个小技巧.
你在update或者delete之前,首先select下需要操作的数据有多少.
之后在update或者d ...

Delete Top(10)这个是可以根据需求完全Delete掉的。。

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
26#
发表于 2012-5-21 15:02 | 只看该作者
fateswing 发表于 2012-5-21 15:02
Delete Top(10)这个是可以根据需求完全Delete掉的。。

不太明白你的意思

使用道具 举报

回复
论坛徽章:
4
2011新春纪念徽章
日期:2011-02-18 11:43:332013年新春福章
日期:2013-02-25 14:51:242015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
27#
发表于 2012-5-21 15:03 | 只看该作者
hwtong 发表于 2012-5-21 14:43
再介绍一个小技巧.
你在update或者delete之前,首先select下需要操作的数据有多少.
之后在update或者d ...

Delete Top(10)这个是可以根据需求完全Delete掉的。。
但是Update Top(10) 这个你又是如何把剩余的给更新了呢?

使用道具 举报

回复
论坛徽章:
26
ITPUB伯乐
日期:2012-05-22 15:05:35喜羊羊
日期:2015-05-14 12:15:30美羊羊
日期:2015-07-02 22:22:59秀才
日期:2015-08-24 09:51:48天枰座
日期:2015-11-05 16:53:35双鱼座
日期:2015-12-05 19:22:56巨蟹座
日期:2015-12-20 18:46:10摩羯座
日期:2016-05-19 09:54:17ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2017-02-22 15:16:26
28#
发表于 2012-5-21 15:05 | 只看该作者
fateswing 发表于 2012-5-21 15:03
Delete Top(10)这个是可以根据需求完全Delete掉的。。
但是Update Top(10) 这个你又是如何把剩余的给更新 ...

?
还是不太明白你的意思.
我再说下.
假如需要删除A表中栏位id<100的数据,可以先使用select count(1) from A where id<100
查询出满足条件的记录数.之后使用delete top(100) from A where id<100
update操作类似

使用道具 举报

回复
招聘 : 数据库开发
论坛徽章:
3
奥运会纪念徽章:网球
日期:2012-06-25 14:58:22慢羊羊
日期:2015-03-04 14:53:332015年新春福章
日期:2015-03-06 11:58:39
29#
 楼主| 发表于 2012-5-21 15:05 | 只看该作者
CareySon 发表于 2012-5-21 14:35
我在生产环境上做任何delete或者update的时候必须要做的事就是在语句前加上
begin tran

我有一次删除生产表中间表中的数据时忘记加WHERE条件了,结果全部删除了,幸好中间表数据不多,又重新生成了一遍 ,不过,也让我出一身汗珠

使用道具 举报

回复
论坛徽章:
13
2012新春纪念徽章
日期:2012-01-04 11:56:19喜羊羊
日期:2015-03-04 14:52:46马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08优秀写手
日期:2013-12-18 09:29:10雪铁龙
日期:2013-09-11 10:30:25雪佛兰
日期:2013-08-07 14:34:372013年新春福章
日期:2013-02-25 14:51:24咸鸭蛋
日期:2012-11-01 17:05:28迷宫蛋
日期:2012-06-13 15:28:34
30#
发表于 2012-5-21 15:09 | 只看该作者
与你零距离 发表于 2012-5-21 15:05
我有一次删除生产表中间表中的数据时忘记加WHERE条件了,结果全部删除了,幸好中间表数据不多,又重新生成 ...

是啊,现在来看这类事不叫事了,恢复手段多种多样.

可是不甚懂的时候做了这类事就感觉要被爆菊....

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表