位置: 编程技术 - 正文

SQL Server 2008及更高版本数据库恢复方法之日志尾部备份(sql server 2008r)

编辑:rootadmin

推荐整理分享SQL Server 2008及更高版本数据库恢复方法之日志尾部备份(sql server 2008r),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server 2008 developer,sql server 2008升级到2016,sql server 2008升级2014,sql server 2008r,sql server 2008升级2014,sql server 2008升级2014,sql server2008r2,sql server2008升级到2008 r2,内容如对您有帮助,希望把文章链接给更多的朋友!

经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题。

遇到这种情况,一般都是没有做备份,不然也不会来发问了。首先要冷静,否则会有更大的灾难。直到你放弃。

解决方法:

对于这类问题,主要是找回误操作之前的数据,在之前,有个很出名的工具Log Exploer,听说还挺好用的,这个网上大把教程,这里就不多说了。但是唯一遗憾的是,不支持及更高版本,这时除了其他第三方工具,那么最常用的就是本文提到的方法——日志尾部备份。本文实验环境R2,对于及其以上版本可以使用这个方法,其实也可以,很少用,没试过,只是之前可以使用Log Exploer,所以就没必要用这种方法。

下面图文并茂讲解操作方法,至于原理,不属于本文范围,而且我相信真遇到误操作的时候,估计没人会看原理了。

步骤:

(1)、检查数据库的恢复模式,如图:

或者使用脚本检查:

结果如下:

确保数据库的恢复模式最起码不能为【简单】。至于如何修改成完整模式,我觉得这些应该没必要多说了。

切记,对于任何重要环境,不仅仅是客户正式环境(俗称生产环境),都强烈建议使用【完整恢复模式】,虽然对于另外两种(大容量日志(BULK_LOGGED)、简单(SIMPLE))来说,完整恢复模式产生的日志会大,但是在出现问题的时候,就会觉得这些都不算什么了。并且我也想不到任何理由对于正式环境不使用完整恢复模式。只要管理得当,完整恢复模式的日志也不会太变态。

(2)、这里其实隐含另外一步,曾经做过最少一次的完整备份。因为所有类型的备份都基于完整备份,如果没有最少一次完整备份,其他类型的备份都是多余的,所以在这里强调一下,在创建完一个新数据库之后,强烈建议甚至强制做一次完整备份。

使用上面的语句粗略可以看到有那些数据库做过备份,由于测试,所以做了几次备份,可以看到我这个时间点已经做了备份了。

(3)、确保别人不再连接数据库,然后做一次日志尾部备份:

首先先创建一点数据:

由于tempdb永远为简单恢复模式,所以不适合做案例。 这里使用微软的示例数据库AdventureWorks

检查一下结果:

然后来做个删除操作,为了定位是啥时候发生的,我加了一个waitfor命令,让它在某个时间发生,这样恢复的时候就有准确性:

现在来看看数据:

到这一步,灾难出现了,但是切记要冷静。

下面就是本文的重点开始,做一次日志备份,最重要是选择【备份日志尾部】

SQL Server 2008及更高版本数据库恢复方法之日志尾部备份(sql server 2008r)

然后在【选项】页选择:除【事务日志】除,其他红框包裹的地方为强烈建议勾选的地方。并且保证数据库不要有别人在连接,因为备份日志尾部会使数据库处于还原状态,拒绝其他会话的连接,如果不断开其他连接,是备份不了的。

然后按确定,当然,可以使用上方的【脚本】来生成语句:

此时,数据库会处于【正在还原】的状态

如果发现备份不了可以用下面语句查看,并把spid杀掉:

SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('AdventureWorks')

执行结果:

然后kill掉。

接着继续备份。

然后进行还原,如图:

先要还原完整备份,选择最近的那次,由于日志备份的特性(以后其他文章再说),只认最后一次备份,所以要选择最新的那次,否则还原不了。

这里又有一个注意事项,记得选择:

接着还原日志文件,这是最最重要的一步:

然后:

由于实验的时候出了点问题,后面重做了,所以时间选择到:分,我是在:分删除数据的。这里不用太在意,只要把时间点指定到你误删除的时间之前即可。而由于日志尾部备份都是最后一个备份文件,所以这里选则红框部分即可:

现在再检查一下:

可以看到,数据已经还原成功。

总结:

平时不做备份,出问题来喊急,这是苟有自取,还有一些脑袋发热的人喜欢看到ldf很大就直接删除,那以后出问题就别怪微软了。

本文中的方法看上去有点繁琐,但是实操几次就觉得好了,但是步骤建议严格按照上面说的,因为一旦操作错误,就很麻烦,此时再次强调——冷静冷静再冷静!!!!!!

这种方法有几个缺点:

1、如果你发现误操作以后还有很多人做了操作,那么你还原成功后,别人的操作就会冲掉,所以发生误操作后,要马上停止别人对数据库的操作。

2、 这个方法要对数据库独占,所以你想偷偷恢复是不行的了。勇敢承认错误吧。

对于核心数据表,还是要先做好预防操作,可以看:SQLServer恢复表级数据。

标签: sql server 2008r

本文链接地址:https://www.jiuchutong.com/biancheng/312161.html 转载请保留说明!

上一篇:SQL Server 2008数据库误删数据如何进行数据恢复(sql server 2008数据库)

下一篇:SQL Server 2008 R2安装配置方法图文教程(sql server 2008 R2安装)

  • 税务会计的工作内容和心得
  • 先包装后销售先销售后包装的消费税处理
  • 核定扣除公式
  • 哪些行业不能开具增值税专用发票
  • 制造业三项费用占比行业怎么算
  • 个人所得税专项扣除子女教育标准
  • 软件出口税收政策
  • 合同款未付怎么写欠条
  • 个体户如何报年报
  • 个体户到税务局开普票需要什么手续
  • 补发工资如何申请
  • 纳税人必须关注的10个涉税风险点
  • 企业为员工缴付养老保险
  • 个体户需不需要银行开户
  • 企业收取的延期付款利息需要征消费税和增值税
  • 财务费用错记成管理费用
  • 个税手续费返还要交增值税吗
  • 华为分享是什么意思关闭有影响吗
  • 最新早上好图片大全集
  • 微信支付宝收款码二合一
  • 未开票收入冲回如何做账
  • 临时工工资的会计处理和税务处理
  • php压缩包
  • 代扣代缴个税手续费
  • win10无法以管理员身份运行的原因及解决方法
  • 财政发票可以报销吗
  • yolov5 教程
  • 公司注销时做哪些财务处理
  • 土地使用权转让法律规定
  • 收回以前年度款项如何处理
  • php实现的常规正态分解
  • php @method
  • 补差价如何做账
  • 公司注销方便吗
  • 收取包装物押金会计分录
  • ubuntu20.04.1安装
  • 3分钟认识Vue3的v-model
  • 待摊费用在资产负债表中怎么表示
  • phpcms api
  • 固定资产包括无形资产吗?
  • 电缆租赁发票开具属于什么项目
  • 企业交房租没有发票能充费用吗
  • 进项加计抵减对账怎么做
  • 工业设备种类
  • 收到的现金货款转到公户备注往来款可以吗
  • 公司代缴社保生育津贴大概领多少
  • 材料折扣会计分录
  • 如何理解会计的本质
  • 预计产品质量保证损失计入什么费用
  • 企业收到普通发票需要报税嘛
  • 固定资产发票未到可以确认固定资产吗
  • 加计扣除10%进项税政策文件
  • 商品销售企业成本包括
  • 个人账户打流水需要本人吗
  • 收到进项发票不认证抵扣的会计分录
  • 跨月普票作废怎么处理操作步骤
  • 个人境外投资限制
  • 银行日记账怎么导出
  • 建账及账务处理步骤
  • sql注入神器
  • win7显示无线网络未连接
  • windf9
  • mac安装pyenv
  • 笔记本bios密码怎么强制清除
  • 如何设置win10自动登录
  • linux epub阅读器
  • win8适合打游戏吗
  • ksysslim.exe是什么
  • 关于加载失败壁纸
  • node.js中的http.createServer方法使用说明
  • node.js开发实战
  • nodejs eventloop
  • js面向对象的三大特性
  • jQuery中通过ajax的get()函数读取页面的方法
  • 简述javascript中的函数
  • jquery table
  • python爬虫程序下载网页上内容
  • 江宁市民之家上班时间?
  • 扣缴义务人怎么改不过来呢
  • 开量贩ktv一年能赚多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设