SQLite数据库损坏时的备份和恢复

SQLite数据库的恢复

在程序运行过程中,强行关机,容易造成数据库损坏。

损坏后,可以利用sqlite.exe,将数据导出来。

比较好的方式是,将数据库中的表导出成insert语句。

第一步:

在命令行模式,进入对应的目录,执行sqlite3.exe

第二步:打开数据库

.open comm.db3

第三步:指定模式,输入insert 和表名
.mode insert tb_scan

第四步:指定输出的文件名

.output
tb_scan.sql

第五步:执行select

Select *
from tb_scan;

这样,就把该表备份了。生成的SQL文件内容如下:

INSERT
INTO tb_scan VALUES(1,‘http://zslxsalt.cn/m/q/90280128043692127642‘,‘2019-12-31
22:40:16‘,1,‘‘);

这种方法,即使数据库有一定程序损坏,也可以把数据导出来。

接下来是导入数据。由于数据量很大,所以需要加begin; 和commit;

.open
new.db3

begin;

.read tb_task.sql

commit;

原文地址:https://www.cnblogs.com/CipherLab/p/12144019.html

时间: 2024-07-31 23:02:04

SQLite数据库损坏时的备份和恢复的相关文章

讨论SQLite数据库损坏与修复

昨晚,朋友和我反馈SQLite数据库发生损坏有没有办法恢复.大致的情况是这样的,当数据库在使用时不小心用了新的文件覆盖数据库,导致了SQLite数据库出现了损坏,打开的时候出现要输入密码,而且不能把SQL语句dump下来.所以,文章这里整理SQLite数据库出现损坏的所有情况,以及如何修复损坏的SQLite数据库文件. SQLite算是非常稳定的数据库,不容易出现损坏,就算应用程序崩溃,或者操作系统崩溃,甚至是执行事务时出现断电,都能在下一次使用数据库时自动修复.但是,还是不能避免不出现损坏的情

【Oracle】undo损坏,无备份非常规恢复

客户的一个测试环境,主机异常断电,启动后发现undo文件损坏,无法启动,在open阶段报错如下: Errors in file /u01/app/oracle/diag/rdbms/cdrdb/CDRDB/trace/CDRDB_ora_4109.trc: ORA-01122: database file 3 failed verification check ORA-01110: data file 3: '/u01/app/oracle/oradata/CDRDB/undotbs01.dbf

mysql 数据库的主从复制及备份、恢复

##远程登录MySql mysql -h62.234.124.229 -P31306 -ucrab -p123456 mysql --host=62.234.124.229 --user=yq --password=123456 ##给远程登录的用户授权: grant all on *.* to [email protected]'114.248.166.196' identified by '123456'; grant select,update,delete on *.* to [emai

DB2数据库的建库备份和恢复

Db2环境下建库步骤如下: 1. su – db2inst 注意 '-'少了后边会出错; 2. db2 进入db2命令行模式; 3. create database pb_db on /home/db2inst using codeset gbk territory zh_CN pagesize 8192   ---建库; 4. connect to pb_db  ---连接; 5. create bufferpool testpool size 2000 pagesize 32k --临时表空

304444数据库备份和恢复

第13章  数据库备份与恢复 •    13.1 备份和恢复 •    13.2 完整数据库备份与恢复 •    13.3差异数据库备份与恢复 •    13.4 事务日志备份与恢复 •    13.5 一种备份案例 13.1.1 备份和恢复的概念 Ø 前面两章分别介绍了通过数据的完整性控制和安全性控制来保证数据的安全,但这种安全是相对的.不但数据库管理系统软件本身可能会出现问题,而且作为硬件支撑的计算机也有可能出现不可修复的故障,还有自然灾害等不可抗拒的客观因素,这些都有可能造成数据的损坏或丢

[转]Oracle DB 备份和恢复的概念

? 确定Oracle DB 中可能发生的故障类型 ? 说明优化实例恢复的方法 ? 说明检查点.重做日志文件和归档日志文件的重要性 ? 配置快速恢复区 ? 配置ARCHIVELOG模式 部分工作内容 数据库管理员的职责包括: ? 尽量避免数据库出现故障 ? 延长平均故障间隔时间(MTBF) ? 通过冗余方式保护关键组件 ? 缩短平均恢复时间(MTTR) ? 最大程度地减少数据丢失 数据库管理员(DBA) 的目标是确保数据库处于打开状态,以供用户在需要时使用.要实现这个目标,DBA 应完成以下工作(

MySQL下备份和恢复简单介绍

为什么要备份?    由于使用MySQL时自己的一些误操作导致数据丢失或者是开发写程序时删除了不该删的数据,我们知道企业中数据是最重要的,那么此时为了数据的安全性,我们就必须的提前把数据给备份好,万一出问题时,也好挽救回来. 其实导致数据灾难的原因有很多的,举一些基本的例子:硬件故障.软件故障.自然灾害.黑客攻击.误操作等都会导致数据丢失,那么在生产环境中我们备份数据就成为了必不可少的环节了.    一般来说公司内部部署的环境一般有三种,生产环境.测试环境.开发环境.有一点很重要的是当我们把灾难

关于SQLite数据库 字段 DateTime 类型

这两天刚接触SQLite 数据库 还没有太过于深入的了解 , 于是出现了一个问题 : 我在 C#中 ,使用SQLiteHelper 查询SQLite数据库数据时,报了这个错误: System.FormatException:“该字符串未被识别为有效的 DateTime.” 在网上查询了一些文章后,我发现sqlite使用标准的时间格式,即 yyyy-mm-dd hh:mm:ss 我之前存储的数据为 2017-7-10 9:25:36 按照标准格式 更改为: 2017-07-10 09:25:36

[Sqlite]-->使用Java程序、cmd命令行来备份恢复Sqlite数据库

1,通过命令行使用.dump来备份成sql文件的方式 命令语句: C:/sqlite/sqlite3 tim.db .dump >test.sql .dump ?TABLE? ...      Dump the database in an SQL text format If TABLE specified, only dump tables matching LIKE pattern TABLE.执行效果如下图所示,可以看到备份的sql文件内容: 2,通过.read 语句来恢复数据库 命令语