位置: 编程技术 - 正文

SQLServer恢复表级数据详解(sql server恢复)

编辑:rootadmin

推荐整理分享SQLServer恢复表级数据详解(sql server恢复),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server恢复,sql恢复表数据,sql恢复表数据,sqlserver恢复表数据,sql恢复表数据,sqlserver恢复表数据,sqlserver恢复表数据,sql恢复表语句,内容如对您有帮助,希望把文章链接给更多的朋友!

最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update、delete出现了无法恢复的后果,加上那些库都是几十G。恢复起来少说也要十几分钟。为此,找了一些资料和工作总结,给出一下几个方法,用于快速恢复表,而不是库,但是切记,防范总比亡羊补牢好。

在生产环境或者开发环境,往往都有某些非常重要的表。这些表存放了核心数据。当这些表出现数据损坏时,需要尽快还原。但是,正式环境的数据库往往都是非 常大的,统计数据表明,1T的数据库还原时间接近小时,所以因为一个表而还原一个库,不单空间,甚至时间上都是一个很大的挑战。本文介绍如何恢复单 表,而不需要恢复整个库。

现在假设一个表:TEST_TABLE。我们需要尽快恢复这个表,并且把恢复过程中对其他表和用户的影响降到最低。

SQLServer(特别是以后),具有很多备份及恢复功能:完整、部分、文件、差异和事务备份。而恢复模式的选择严重影响备份策略和备份类型。

下面是几个可供参考的方案,但是记住,各有好坏,应该按照实际需要选择:

方案1:恢复到一个不同的数据库:

对于小数据库来说不失为一种好的办法,用备份还原一个新的库,并把新库中的表数据同步回去。你可以做完整恢复,或者时间点恢复。但是对于大数据库,是非常耗时和耗费磁盘空间的。这个方法仅仅用于还原数据,在还原数据(就是同步数据)的时候,你要考虑触发器、外键等因素。

方案2:使用STOPAT来还原日志:

你可能想恢复最近的数据库备份,并回滚到某个时间点,即发生意外前的某个时刻。此时可以使用STOPAT子句,但是前提是必须为完整或大容量日志恢复模式。下面是例子:

注意:这种方法的主要缺点是会覆盖掉从stopat指定时间点之后所修改的所有数据。所以要衡量好得失。

方案3:数据库快照:

创建数据库快照。当发生意外时,可以从快照中直接获取原来的数据。但是必须是在发生意外之前创建的快照。这在核心表不经常更新,特别是有规律更新时很有用。但是当表经常、不定期被更新,或者很多用户在访问时,这种方法就不可取了。当需要使用这种方法时,记得在每次更新前先创建快照。

SQLServer恢复表级数据详解(sql server恢复)

方案4:使用视图:

你可以创建一个新的数据库,并把TEST_TABLE移动到这个库里面。当你需要恢复的时候,你只需要恢复这个非常小的数据库即可。访问源数据库的数据时,最简单的方法就是创建一个视图,选择TEST_TABLE表中所有列的所有数据。但是注意这个方法需要在创建视图前,重命名或者删除源数据库的表:

使用这种方法,可以对视图使用SELECT /INSERT/UPDATE/DELETE语句,就像直接操作实体表似得。当TEST_TABLE更改时,要使用SP_REFRESHVIEW存储过程来更新元数据。

方案5:创建同义词(Synonym):

和方案4类似,把表移到另外一个数据库,然后对源数据库的这个表创建一个同义词:

方案6:使用BCP保存数据:

你可以创建一个作业,使用BCP定期导出数据。但是这种方法的缺点和方案1类似,需要找到哪天的文件并导进去,同时要考虑触发器和外键问题。

各种方法的对比:这个方法的有点就是你不需要担心元数据更新所带来的结构变更不及时。但是这个方法的问题就是不能在DDL语句中引用同义词,或者不能在链接服务器中找到。

方法 优点 缺点 还原数据库 快且容易 适用于小库,且要注意触发器和外键等 还原日志 能指定时间点 所有时间点后的新数据会被覆盖 数据库快照 当表不是经常更新时很有用 当表并行更新时,快照容易出现问题 视图 把表的数据于库分开,没有数据丢失 元数据需要周期性更新,并要定期维护新数据库 同义词 把表的数据于库分开,没有数据丢失 在链接服务器上不能用,并要定期维护新数据库 BCP 拥有表的专用备份 需要额外的空间、还会出现触发器、外键等问题

总结:

良好的编程习惯和良好的备份机制才是解决问题的根本,以上的措施都仅仅是一个亡羊补牢的办法。可能有人说SQLServer 新版本不是有部分还原吗?我们来看看联机丛书的说明:

可以看到,其他这种方法很难还原一个表,但是当库小的时候,倒可以试试。

SQLSERVER 清除历史记录的方法 删除前做备份。使用SQLServer登录使用数据库时,登录过的记录会出现在登录框中,下面是删除方法:SQLServer删除盘符:DocumentsandSettings用户ApplicationDa

浅析SQL server 临时表 创建临时表,#代表局部临时表,##代表全局临时表。局部临时表和全局临时表的具体含义是什么呢?举例说明一下比较清晰些,先来看下局部临时表,【

MSSQL段落还原脚本,SQLSERVER段落脚本 段落还原保持进行检查,以便确保数据库在结束时将是一致的。在还原顺序结束后,如果恢复的文件有效并且与数据库一致,则恢复的文件将直接变为

标签: sql server恢复

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

上一篇:一个函数解决SQLServer中bigint 转 int带符号时报错问题(sql函数的作用)

下一篇:SQLSERVER 清除历史记录的方法(sqlserver2019删除)

  • 视同销售的增值税怎么申报
  • 利税总额计算公式利润表怎么计算
  • 营业成本包括哪些费用
  • 化肥与农药的利与弊
  • 长期股权投资其他综合收益什么时候转留存收益
  • 企业注销处置固定资产需要缴纳哪样税
  • 工程的管理费收入怎么算
  • 应收代位追偿款是什么意思
  • 小规模纳税人房租发票税率是多少
  • 实报实销电话费
  • 出口货物索赔如何确认收入
  • 补记以前年度折旧
  • 增值税专票过了3年能抵扣吗
  • 发票对方作废了,客户还可以认证么
  • 个人能去税务局开普票吗
  • 公司股东会承担法律责任吗
  • 小规模纳税人自来水税率
  • 公司向职工借款不还怎么办理
  • 零申报还需要交税吗
  • 高危行业企业要设置什么机构
  • 用友u8计提企业所得税
  • 分公司是否可以与劳动者建立劳动关系
  • 房地产企业预缴增值税什么时候结转
  • 电子税务局如何查进项发票
  • 汇总表格怎么设置
  • 开发票有时间限制吗?
  • 个人所得税的征收
  • 开票税点算什么费用
  • win11系统开机密码怎么修改
  • mac 移动硬盘 文件系统
  • 非盈利组织稳定吗
  • 交接目录excel
  • layui表格编辑功能
  • 员工离职后公司还用照片
  • php pdo oracle
  • 事业单位财产清查内容包括
  • php数组实现原理
  • php8.0 特性
  • imu定位
  • php从服务器下载文件
  • 利润分配的顺序依次是什么
  • 提取企业所得税怎么做会计科目
  • 外购应税消费品的纳税人是谁
  • 应收账款和应付账款属于什么科目
  • 外勤会计是做什么的
  • 三证合一后个体交税吗
  • 企业应付账款科目的借方余额反映的是
  • 现金流量表中的现金流量包括哪些
  • 用友u8固定资产减少怎么撤销
  • 工地上购买的零食叫什么
  • 还未摊销的房租怎么入账
  • 物业电费加价如何处理
  • 银行三证合一是哪三证
  • 怎么打印税务登记证明备案表
  • 你知道实施“营改增”对企业有哪些积极的效应么?
  • 租赁房屋取得发票怎么开
  • 固定资产原值会减少吗
  • 主营业务收入需要减去增值税吗
  • 开发票系统税号0和o怎么区别?
  • 有形资产负债率多少合适
  • XP系统无法安装软件
  • ubuntu通讯软件
  • 文档介绍
  • QQPCTray.exe是什么进程 QQPCTray.exe文件介绍
  • 手机苹果操作系统
  • mac命令行窗口怎么打开
  • ie的进程
  • win7系统不能用了?
  • Win10年度更新(RS1)怎么样升级?升级方法一览
  • nmeo.exe是什么
  • win7旗舰版安装教程u盘
  • 编写一个定时间隔为5ms的子程序
  • win10预览版好吗
  • 收藏了很久的句子
  • unitysdk接入
  • 预征率为2%预征税额怎么算
  • 稽查查补税款享受增值税免税优惠吗
  • 车辆购置税可以抵税吗
  • 专票清单用什么纸打印
  • 企业代收行政事业性收费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设