首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用批处理备份数据量大的表

使用批处理备份数据量大的表
EN

Stack Overflow用户
提问于 2013-11-19 18:15:57
回答 1查看 93关注 0票数 0

我有一个非常大的表(300+百万行),需要经常备份。我使用了一个备用表来完成此操作。目前,备份表在主表之后很多,所以我想更新我的备份表。我想复制主表上存在的行,而备份表上还不存在的行。(此表的目的是进行一些报告)。我意识到,如果我这样做,它将永远花费我的时间:

代码语言:javascript
运行
AI代码解释
复制
insert into backuptable select all from uptodatetable where not in select all from backuptable

所以,我想这将是一个好主意,在一批行。然而,我以前从未使用过batch,所以你们能帮我吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-11-19 18:37:50

你的“超级巨型”表发生了多大的变化?您是否有大量的插入和删除操作?有很多更新吗?您的备份表的用途是什么?你需要能够查询它吗?您真正想要的是在发生更改时更多地记录更改吗?

  • 假设您的数据很重要,您应该在您的SQL Server实例上运行备份计划,例如,每晚对数据库进行完整备份,并在一天中定期进行增量备份。

这段时间的长度取决于在失败的情况下您可以承受损失的数据量(就事务而言)。如果每隔60分钟执行一次增量操作,则在必须从备份中恢复时,理论上可能会丢失相当于一个小时的事务。

  • 如果您需要一个精确镜像的备份表,无论出于何种原因,都可以考虑在您的表上设置一个insert/delete/update触发器来镜像备份表上的事务。

  • 如果您需要一个基本上是更改审核日志的备份表,请创建一个镜像源表的备份表,但该表具有一些额外的列--操作日期/时间、执行操作的用户,操作类型(insert/ delete :将更新记录为delete和insert)。这样做意味着您可以通过回滚审核日志来执行反向操作,从而可以恢复到您想要的任何点。或者你可以找出有罪的那一方然后痛打他们的头和肩膀。用法:D此方法需要一些考虑,但它非常可行。

  • 您还可以考虑其他解决方案,例如log shipping到单独的SQL Server实例以进行灾难恢复。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20078967

复制
相关文章
备份mssql数据库的批处理
提示 错误 22022: SQLServerAgent 当前未运行,因此,无法就本操作对其进行提示。
会长君
2023/04/26
1.4K0
批处理实现最简化数据自动备份
最近一直在考虑oracle数据自动备份到本地的问题,也找机会当面向大牛请教过,得到了一堆关于DG、GG、RAC、DBLINK、ARCHLOG等方面的建议,还有个哥们直接建议我用redis实现。 但因为受服务器配置和网络带宽的限制,以上方法实现起来较繁琐,且有一定的学习成本(毕竟新技术发展太快,早就跟不上潮流了),而且nosql实现起来可能还需要进行二次开发来实现数据库的读写。 磨蹭了大半个月,终于决定还是选择自己最熟悉的批处理来实现异步备份到本地 思路如上图示: 数据库改造,将大表按天建立表分区 服务端
企鹅号小编
2018/02/05
9040
批处理实现最简化数据自动备份
[913]MySQL查看数据库表容量大小
(2)如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:
周小董
2020/12/29
6.3K0
hbase表数据备份策略
Hbase的数据备份策略有: (1)Distcp (2)CopyTable (3)Export/Import (4)Replication (5)Snapshot 下面介绍这几种方式: (一)Distcp(离线备份) 直接备份HDFS数据,备份前需要disable表,在备份完成之前 服务不可用对在线服务类业务不友好 (二)CopyTable(热备) 执行命令前,需要创建表,支持时间区间、row区间,改变表名称,改变列簇名称,指定是否copy删除数据等功能,例如: 三、Export/Import(热备+离线)
我是攻城师
2018/05/14
2.3K0
[913]MySQL查看数据库表容量大小
(2)如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:
周小董
2020/12/20
19.5K1
Mysql数据库备份(一)——数据库备份和表备份[通俗易懂]
Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的
全栈程序员站长
2022/07/21
20.9K0
Mysql数据库备份(一)——数据库备份和表备份[通俗易懂]
[1180]clickhouse查看数据库和表的容量大小
结果为:这是因为在CH中,和我们hive表不一样,hive表一个分区只会有一条记录,但CH不是,每个分区分为了不同的marks
周小董
2023/10/10
1.9K0
[1180]clickhouse查看数据库和表的容量大小
MySQL表的数据量大小会影响索引的选择
现象 新建了一张员工表,插入了少量数据,索引中所有的字段均在where条件出现时,正确走到了idx_nap索引,但是where出现部分自左开始的索引时,却进行全表扫描,与MySQL官方所说的最左匹配原则“相悖”。 数据背景 CREATE TABLE `staffs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', `age` int(11) NOT NULL
Clive
2018/06/06
3.7K0
[MYSQL案例][007] 备份部分表&&快速备份大表
所以整体使用逻辑备份(mysqldump), 个别大表使用物理备份(导出表空间)
大大刺猬
2023/05/24
1K0
Greenplum使用pg_dump备份表数据文件
#!bin/bash # 表文件和该文件的行数 tablefile="ods_tablename.sql" lines=`cat $tablefile|wc -l` # 导入密码 export PGPASSWORD=gpadmin # 循环开始备份表中的数据 for tablename in `cat $tablefile` do # 获取该该表的位置 currentlin=`cat $tablefile |grep -rn -w "$tablename"|awk -
小徐
2021/03/26
9350
数据量大的表建立索引或者修改表结构太慢的解决办法
当表数据量很大时,建立索引或者修改表结构会很慢,而且在操作的过程中,数据库甚至处于死锁状态,那么有没有其他的好的办法呢?
诺浅
2020/08/21
2.1K0
迁移数据到备份表
然后停止了下来,换另一种方式,将不需要删除的数据迁移到备份表,然后删除原表,再重命名回去
阿超
2023/07/08
1560
迁移数据到备份表
CMD批处理——forfiles命令使用,自动删除过期备份文件
公司服务器用来备份数据的硬盘过段时间就会被备份文件占满,弄得我老是要登录到服务器去手工删除那些老的文件,有时忘记了就会导致硬盘空间不足而无法备份。 因为只要保留最近几天的备份,如果可以做一个批处理让系统自动删除老备份文件就好了,但是Windows的命令行和Linux的Shell比起来功能差了很多,到底行不行我自己也不清楚。 于是上网查了一下各位大虾发的帖子,再经过自己的摸索和尝试,发现只要花点功夫还是能实现这个功能的。 Windows Server 2003内置的命令行文件,适合于XP以上系统 示例:
landv
2018/05/24
4.5K0
数据库备份一张表
create table [备份名] as select * from [表名];
全栈程序员站长
2022/08/28
9580
mysql分库备份与分表备份
要求:将mysql数据库中的用户数据库备份,备份的数据库文件以时间命名 脚本内容如下:
仙人技术
2020/04/29
2.8K0
Sybase 数据库bcp out备份重要表数据
注:客户端的$SYBASE/interfaces 配置文件就相当于Oracle的tnsnames.ora文件。
Alfred Zhao
2019/05/24
1.6K0
MySQL数据备份mysqldump的简单使用
MySQLdump是一个数据库逻辑备份程序,可以使用对一个或者多个mysql数据库进行备份或者将数据传输到其他mysql服务器。执行mysqldump时需要账户拥有select权限才可以进行备份数据表,show view权限用于备份视图,trigger权限用于备份触发器等。
星哥玩云
2022/08/17
1.5K0
Oracle 批处理自动备份bat脚本语句的步骤详解
确保bat脚本能执行 有时候bat脚本执行时会包@echo错误,这是编码的问题。 把bat文件另存为的时候修改编码为:ANSI 就行了。
用户1289394
2021/02/05
1.1K0
Oracle 批处理自动备份bat脚本语句的步骤详解
Oracle表级备份
计划任务:为避免数据库压力,设定在每天凌晨1点执行脚本进行备份。一个root用户、一个oracle用户。
院长技术
2020/08/14
1K0
Oracle 数据库、表、方案的逻辑备份与恢复
数据库(表)的逻辑备份与恢复 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象被破坏而使用工具import利用备份的文件把数据对象导入到数据库的过程,逻辑备份和恢复只能在open的情况下进行。 一、导出操作 1、导出 导出具体分为三种:导出表、导出方案、导出数据库三种方式 导出使用exp命令来完成的,该命令常用的选项有: userid:用于指定执行导出操作的用户名,口令,连接字符串 tables:用户指定执行导出操作的表 owner:用于指定执行导出操作的方案
郑小超.
2018/01/26
1.3K0

相似问题

使用批处理备份注册表

20

使用备份表在批处理中执行高效更新

11

Server 2008R2数据库备份量大

20

使用批处理的自动usb备份

22

使用批处理文件备份Mysql数据库

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档