首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么.bak文件大小比恢复的数据库大得多(SQL)

.bak文件是SQL Server数据库备份文件,它包含了数据库的完整备份。在进行数据库备份时,SQL Server会将数据库的数据和日志文件打包成一个.bak文件,以便在需要时进行恢复。

.bak文件大小比恢复的数据库大得多的原因有以下几点:

  1. 压缩方式:备份文件可以选择是否进行压缩。如果备份时选择了压缩选项,那么备份文件的大小会相对较小。但如果没有选择压缩选项,备份文件的大小会比实际数据库大得多。
  2. 事务日志:备份文件中可能包含了事务日志。事务日志是用于记录数据库中的所有操作,包括增删改操作。如果备份时包含了事务日志,备份文件的大小会比实际数据库大得多。
  3. 数据库状态:备份文件中可能包含了数据库的所有状态信息,包括数据库的配置、索引、统计信息等。这些信息在恢复数据库时是必需的,因此备份文件的大小会比实际数据库大得多。
  4. 数据库空间:备份文件中可能包含了数据库中的未使用空间。数据库中的数据是以页为单位进行存储的,而备份文件是按照页的方式进行备份的。如果数据库中存在大量未使用的空间,备份文件的大小会比实际数据库大得多。

总结起来,.bak文件大小比恢复的数据库大得多是因为备份文件包含了数据库的完整备份,包括压缩方式、事务日志、数据库状态和未使用空间等因素的影响。在恢复数据库时,可以选择是否还原事务日志和未使用空间,以减小恢复后数据库的大小。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

恢复没有日志文件SQL数据库

如果您mdf文件是当前数据库产生,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库, 但是会出现类似下面的提示信息 设备激活错误。...别着急,下面我们举例说明恢复办法。 A.我们使用默认方式建立一个供恢复使用数据库(如test)。可以在SQL Server Enterprise Manager里面建立。 B.停掉数据库服务器。...C.将刚才生成数据库日志文件test_log.ldf删除,用要恢复数据库mdf文件覆盖刚才生成数据库数据文件test_data.mdf。 D.启动数据库服务器。...说明您其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库系统表,那么退出SQL Server Enterprise Manager...I.设置数据库为正常状态 sp_dboption 'test','dbo use only','false' 如果没有出错,那么恭喜,现在就可以正常使用恢复数据库啦。

1.7K30

SQL Server数据库单表数据恢复

前提:1、具备全量备份、和事务日志2、数据库recovery mode是full模式案例演示1、创建数据库并插入测试数据集CREATE DATABASE OldDatabase;ALTER DATABASE...Tab set name='Admin' where 1=1 AND id>=1;我这里是影响了122条记录8、发现误操作情况,联系DBA处理恢复过程1、找到误操作时间点或者LSNupdate 对应是...这里文件路径是随手写,因为只是临时数据恢复用下,用完这个库就删掉了,也不会产生多大影响4、再逐个恢复事务日志-- 恢复第一个日志RESTORE LOG [NewDatabase] FROM DISK...= N'D:\OldDatabase.log.20240117.1.bak' WITH NORECOVERY, NOUNLOAD, STATS = 10;-- 恢复第N个日志(步骤省略)-- 恢复最后一个日志...:0000010c:0002';-- 数据库打开读写RESTORE DATABASE [NewDatabase] WITH RECOVERY;5、查询恢复数据是否正确select * from NewDatabase.dbo.Tab

21010

一个 SQL 还快数据库语言,开源了!

使用 esProc SPL 实现数据分析业务,整体应用成本将比以 SQL 为代表传统技术低出几倍。...esProc SPL 介绍 esProc SPL 是一款面向结构化和半结构化数据计算和处理引擎,可以用做分析型数据库和数据计算中间件。...值得一提是,和市场上常见分析型数据库不同,esProc SPL 并不是 SQL 体系,但也不是常说 NoSQL 技术(比如 MongoDB、HBase 等),而是采用了独创 SPL(Structured...总体来说,像涉及跑批慢、查询慢等性能问题;数据库压力问题;SQL 难写难维护问题;多数据源混算问题;应用结构不合理问题,这些都是 esProc SPL 要解决。...性能卓越在实际应用中,esProc SPL 大数据处理性能可以传统方案平均提升 1-2 个数量级,性能优势十分明显。

1.1K20

SQL Server 数据库恢复到不同文件名和位置

WITH MOVE 选项允许您恢复数据库,但也可以指定数据库文件(mdf 和 ldf)新位置。...WITH MOVE 选项将让您确定数据库文件名称以及创建这些文件位置。在使用此选项之前,您需要知道这些文件逻辑名称以及 SQL Server 位置。...如果已经存在另一个使用您尝试还原相同文件名数据库并且该数据库处于联机状态,则还原将失败。...但是如果数据库由于某种原因不在线并且文件没有打开,如果你不使用 WITH MOVE 选项,恢复将覆盖这些文件,所以要小心你不要意外覆盖好数据库文件。...类型 D L 使用 MOVE 恢复完整备份 假设我们要恢复这个数据库,但我们希望将数据文件放在“G:\SQLData”文件夹中,将事务日志文件放在“H:\SQLLog”文件夹中。

88130

ZIP和RAR文件不同

生活中我们经常需要使用电脑与朋友之间文件传送,但往往会受到文件大小限制而无法发出去,此时需要将文件压缩后再发送,那么有小伙伴会问rar和zip又有什么区别?...这两种方法都是压缩算法,可以有效地压缩文件,从而在不影响文件内容情况下缩小文件大小。这篇文章介绍了ZIP和RAR文件不同。...压缩文件格式rar和zip不同 1、zip起源rar要早很多,并且它普及率后者更广。操作系统对zip直接支持解压提取文件,其应用范围rar要好得多。...为什么他们压缩速度会有很大不同其实也是因为算法不同。rarzip要强大得多。例如rar独特solid压缩方式,或者可以锁定压缩文件以防止被修改,又比如恢复记录功能,能够恢复物理损坏数据等。...4、rar与zip不同之处:RAR通常ZIP压缩比高,但是压缩/解压缩很慢,所以如果在网络上传播和分发文件,zip格式常常是最常用选择。

2.2K30

SQL Server 数据恢复

1.从日志恢复数据库 --创建测试数据库 CREATE DATABASE Db GO --对数据库进行备份 BACKUP DATABASE...FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY GO --将事务日志还原到删除操作前(这里时间对应上面的删除时间,并删除时间略早...DECLARE @dt datetime SELECT @dt=DATEADD(ms,-20,dt) FROM # --获取表被删除时间略早时间...一、 不要备份数据库,因为有些数据库设置‘简单模式’,备份会删除日志,导致恢复失败。 二、 先分离数据库 ? 三、 找到数据库文件路径,拷贝一份备用。(为了保险,一定要备份) ?...八、选择要恢复SQL连接和数据库 ? 九、等待查找数据库和日志 ? 等一会儿 ,会出现下面界面 ? ? ? ? ? ? 建议另存为一个 .sql文件,然后打开进行操作。

1.2K20

选择合适innodb_log_file_size

首先,让我先来解释一下恢复时都发生了什么事情以及为什么设置 innodb_log_file_size 值太大了会让恢复过程变慢。...由于有这么多因素,就很难产生通用准绳,例如每10分钟恢复1GB数据时长 — 相反地,应该在典型应用中来确定负载,在MySQL崩溃过程中来监查它是怎么恢复。...这么做几次之后,你就应该能大致估算恢复所需时间了从而更恰当地调整日志大小。好事是 — 重做相位和日志文件大小成正比,因此预计恢复1GB日志所需时间大致是512MB2倍。...然而重做相位是相位恢复唯一方法。另一个重要方法是撤销相位 — 当日志文件应用完之后并且数据库处于 “物理一致性” 状态时,Innodb 会回滚那些没提交事务,但是已经对数据库所做修改就不管了。...日志文件增加到一定大小后未必会戏剧性地提高性能,然而这同样依赖于配置以及MySQL工作负载。 注意,这里举例中 4GB 是 innodb 日志文件最大值,不过它明显常用配置大得多了。

72220

SQLSERVER backup 命令总结

◆ 2.1 创建完整 SQL Server 备份到磁盘 该命令是 BACKUP DATABASE 数据库名称。“TO DISK”选项指定应将备份写入磁盘,并指定创建备份位置和文件名。..., DISK = 'E:\AdventureWorks_3.BAK' GO ◆ 2.6 使用密码创建完整 SQL Server 备份 此命令创建一个带有密码备份,在还原数据库时需要提供该密码。...◆ 3.1 创建一个简单 SQL Server 事务日志备份到磁盘 该命令是 BACKUP LOG 数据库名称。“TO DISK”选项指定应将备份写入磁盘,并指定创建备份位置和文件名。...此外,数据库必须处于FULL或Bulk-Logged恢复模式,并且必须至少进行一次完整备份 BACKUP LOG AdventureWorks TO DISK = 'C:\AdventureWorks.TRN...极致微前端框架,成本低、速度快、原生隔离、功能强 为什么工作三年程序员还不懂APM与调用链技术?

71820

表设计与死锁,及为什么MYSQL 死锁别的数据库

最近公司业务系统中死锁较多,比较担心,并且最近在群里面,经常听到有一些群友,提到为什么MYSQL死锁监控上比较LOW,但还好是MYSQL死锁不是太多。...反过来,题目中为什么提到MYSQL死锁少问题 1 一般来说用MYSQL企业大部分都是互联网企业,而互联网企业业务相对传统行业,业务简单,并且互联网企业技术人员水平,相对传统企业来说要高。...所以这也是上面某些群里面的人员,提到了MYSQL死锁为什么相对于其他数据库系统少主要原因。...SQL SERVER Always on 是可以进行读写分离,而 PG 更是天生就有这样基因,各种数据复制技术都是有的,基本上用在MYSQL上技术在PG上进行读写分离都是OK 。...而正是因为这样,其他数据库使用中随着时间流逝,和业务扩展,发生问题几率都比 使用MYSQL数据库大。

2.1K50

中小型数据库 RMAN CATALOG 备份恢复方案(三)

在这边文章中主要描述Prod数据库变迁在Bak server端如何进行恢复。...中小型数据库 RMAN CATALOG 备份恢复方案(一) 中小型数据库 RMAN CATALOG 备份恢复方案(二) 1、恢复前提      按照前两篇文章描述,我们制定了每天做一个level 0...同时定时ftp Prod归档日志到Bak server。      其次是每天会对Bak server端数据库做还原(restore)操作。...因此对于Bak server实现数据恢复所要做是应用归档日志(含定时ftp归档日志)      将数据库刷新到最新时刻。对于备份如恢复间隔也可自行定义,如每2天做一次。...SQL> recover database using backup controlfile; --->使用基于备份控制文件恢复数据库 ORA-00279: change 2654259

84710

【云原生进阶之数据库技术】第三章-PostgreSQL-管理-2.2-运维操作

备份格式:*.bak、*.sql、*.tar 1.将数据库mydb备份到当前目录(.bak或.sql格式) pd_dump mydb > mydb.bak 2.将数据库mydb备份到/tmp目录(.bak...mydb 4.恢复*.bak或*.sql备份数据库,以下命令代表将mydb.sql备份数据库恢复到mydb数据库 psql -U 用户名 -f /tmp/mydb.sql mydb 5.恢复自定义格式备份数据库...使用psql恢复数据库: -bash-4.2$ psql 数据库名 < 自定义名.bak 备份格式有几种选择: bak:压缩二进制格式 sql:明文转储 tar:tarball...-f 备份文件 库名 ##从pg_dump创建备份文件中恢复数据库,用于恢复由pg_dump转储任何非纯文本格式中数据库。...-CSDN博客 PostgreSQL 数据库介绍与使用 - 知乎 PostgreSQL数据库_数据库_单纯-CSDN开发云

10810

0661-6.2.0-Hadoop数据备份与恢复

/current/ bak/[root@cdh01 nn]# mv in_use.lock bak/[root@cdh02 nn]# mv current/ in_use.lock bak/ ?...MariaDB元数据恢复 删除导出这些数据库 ? 然后导入刚才dump出来数据 [root@cdh01 dump]# mysql -uroot -p123456 < dump.sql ?...备份HDFS数据到目标集群 在备份前,我们先查看备份文件大小,以便后面恢复后来比对,这里可以查看到HDFS上/dumpfile/dump.sql目录下文件大小为49.3M [root@cdh01 ~...并且查看文件大小也跟之前一致。 ? 3. 备份Hive表到目标集群 student数据库里面的student_info表数据如下 ? 在目标集群创建一个Hive复制计划 ?...MariaDB数据库备份也是通过mysqldump命令导出需要备份数据库或者表,保存在操作系统中,恢复时候再用mysql命令导回到数据库中来实现。 3.

4.3K50

mysql备份与恢复

1、备份命令:mysqldump   MySQL数据库自带一个很好用备份命令。是逻辑备份,导出 SQL语句。...为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据任何时候。 20 --force在导出过程中忽略出现SQL错误。...(2)恢复操作 a、删除mytest库 mysql -uroot -p'123456' -e "drop database mytest;" b、恢复数据 (1)使用不带参数导出文件导入(导入时不指定要恢复数据库...(2)使用带-B参数导出文件导入(导入时也不指定要恢复数据库),成功 mysql -uroot -p'123456' < /mnt/mytest_bak_B.sql c、查看数据 mysql -...分库备份意义是在所有库都备份成一个备份文件时,恢复其中一个库数据是比较麻烦,所以分库备份,利于恢复

2.4K41

Linux 下MySQL备份

大家好,又见面了,我是你们朋友全栈君。 Linux下MySQL数据库备份和恢复 Linux下MySQL数据库有逻辑备份和物理备份,也可以分为完全备份、部分备份。...-all-databases > BackupName.sql MySQL 完全备份和恢复 备份某—个数据库: mysqldump -uUsername -pPassword 数据库名 > /root.../XXX.bak 会将指定数据库备份至roo家目录下,文件名为XXX.bak 恢复: mysql -uUsername -pPassword 数据库名 < /root/XXX.bak MySQL 增量备份...> /root/完全备份文件名.sql 说明:在进行增量备份时,使用参数解释如下: –lock-all-tables 在开始导出之前,提交请求锁定所有数据库所有表,以保证数据一致性; –flush-logs...:sql_backup.000002 做恢复增量备份前,需要恢复完全备份。

6.5K10

myloader恢复mysql数据库示例

mydumper是针对mysql数据库备份一个轻量级第三方开源工具,备份方式为逻辑备份。它支持多线程,备份速度远高于原生态mysqldump以及众多优异特性。...与其相配套恢复工具则是myloader,主要用于将dump出来sql以并行方式进行恢复。本文主要描述myloader使用方法并给出示例。    ...有关mydumper相关参考 mydumper备份mysql数据库示例 mydumper安装及安装故障汇总 1、单库备份与恢复 [root@app ~]# mydumper -u leshami...file sakila.category-schema.sql: Table 'category' already exists ---增加-o参数进行覆盖恢复 [root@app ~]# myloader...# mysql -urobin -pxxx   \ >  -e "use sakila; >      source /tmp/bak/sakila.tb-schema.sql >      source

4.6K20

MySQL数据库备份实例详解

物理备份 是对数据库目录拷贝,其备份结果大小通常也与备份数据数据目录大小相同,物理备份和恢复通常逻辑备份要快,因为只需要对mysql数据目录拷贝即可,也正是因为这点,对于内存表只能备份其结构,...,由于此参数是锁住一个数据库所有表,备份时可以保证一个数据库所有表数据一致性,但不能保证整个Mysql实例下所有数据库所有表数据一致性,这也是为什么推荐使用Innodb引擎一个原因...,所以对于非常大数据集来说,要恢复的话可能需要很长时间 演示: 把刚才全备数据恢复bak数据库中 创建bak_orderdb数据库 [root@localhost db_backup]# mysql...-uroot -p -e"create database bak_orderdb" Enter password: 将mc_orderdb备份数据恢复bak数据库中 [root@localhost...等文件 使用xtrabackup进行数据库恢复时,我们必须对数据库实例进行重启 先停用mysql服务 然后将原数据库文件所在文件夹重命名为data_bak,然后将此时 2019-01-10文件夹移动到

2.6K10

为什么数据库SQL会导致CPUIO WAIT升高呢

关于xxl-job中sql引发磁盘I/O飙升导致拖垮整个数据库服务 背景: 某天突然发现服务探测接口疯狂告警、同时数据库CPU消耗也告警,最后系统都无法访问; 查看服务端日志,发现大量报错如下...调查: 通过iostat命令观察到cpuiowait非常高,再加上服务端日志报错也是和数据库相关,然后就把怀疑方向转移到Mysql是否存在慢SQL拖垮了整个服务。.../issues/I57M1Y https://github.com/xuxueli/xxl-job/issues/596 为什么数据库SQL会导致CPUIO WAIT升高呢 我们先看一下计算机是怎么管理磁盘...当把这些问题SQL kill掉之后,系统恢复正常,后面我们针对这个场景增加了一个定时任务来清理那些没用记录。...如用户信息,商品信息等 优化实现,尽量去除不必要重复请求 如禁止同一页面多次重复请求相同数据问题,通过跨页面参数传递减少访问等 合理需求,评估需求产出,对产出极端底下需求合理去除  3.

1.3K10

(7) MySQL数据库备份详解

物理备份 是对数据库目录拷贝,其备份结果大小通常也与备份数据数据目录大小相同,物理备份和恢复通常逻辑备份要快,因为只需要对mysql数据目录拷贝即可,也正是因为这点,对于内存表只能备份其结构,...,由于此参数是锁住一个数据库所有表,备份时可以保证一个数据库所有表数据一致性,但不能保证整个Mysql实例下所有数据库所有表数据一致性,这也是为什么推荐使用Innodb引擎一个原因...,所以对于非常大数据集来说,要恢复的话可能需要很长时间 演示: 把刚才全备数据恢复bak数据库中 创建bak_orderdb数据库 [root@localhost db_backup]# mysql...-uroot -p -e"create database bak_orderdb" Enter password: 将mc_orderdb备份数据恢复bak数据库中 [root@localhost...等文件 使用xtrabackup进行数据库恢复时,我们必须对数据库实例进行重启 先停用mysql服务 然后将原数据库文件所在文件夹重命名为data_bak,然后将此时 2019-01-10文件夹移动到

93530
领券