社区
MS-SQL Server
帖子详情
关于数据库恢复问题
jiangag
2001-01-05 01:39:00
由于没有及时备份数据,怎样恢复未备份的数据,听说利用日志文件可恢复,是否可以,怎样恢复(MSSQLSERVER数据库)
...全文
230
12
打赏
收藏
关于数据库恢复问题
由于没有及时备份数据,怎样恢复未备份的数据,听说利用日志文件可恢复,是否可以,怎样恢复(MSSQLSERVER数据库)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiangag
2001-01-15
打赏
举报
回复
各位老兄:你们越说我越糊涂。
我的数据库是在Enterprise Manager中利用backup database进行备份的,所以在指定的目录下有指定的备份文件例如:"c:\mssql\backup\test" ,所以只有一个数据库备份文件"test",通过它(test)我可以将数据库被破坏以前的数据库恢复(包括被drop的表),然后是该怎样把未来得及备份的数据恢复.我这样的备份方法是否有日志备份存在?如果有,在哪里?是什么?
如果没有的话,有没有办法恢复数据库?
请问正确的备份数据库及恢复是怎样的?都包括什么?
谢谢!
flyfk961
2001-01-14
打赏
举报
回复
1.首先数据库要处在archivelog模式下
2.要有你丢失的表所在表空间的对应的所有数据文件的物理备份,不是通过export出来的*.dmp文件
如果你没有以上两个必要条件,那我就无能为力了
下面开始操作步骤:(这里暂定丢失表的空间为fk_data)
1.svrmgr>alter tablespace fk_data offline;
也可用 alter tablespace fk_data offline for recover;
2.svrmgr>host del 文件(表空间对应的文件)
3.svrmgr>host copy source(备份文件,包括路径)dest(数据文件所在位置)
如表空间对应有三个数据文件,则执行三次host copy.
4.svrmgr>recover tablespace fk_data until cancel;(基于终止)
svrmgr>recover tablespace fk_data until time;(基于时间)
因为你以外drop了一张表,所以必须控制恢复程度。通过控制恢复至drop table之前的状态。
5.svrmgr>alter tablespace fk_data online;
(注:此方式可以在数据库打开是进行,也可以在startup mount之后进行,其中,在startup mount之后进行,当要打开数据库时,用alter database open resetlogs;
GoldenLion
2001-01-13
打赏
举报
回复
wwl007方法是正确的.
'c:\mssql7\backup\back_l.dat' 只不过是log backup的文件名你可以起任意名字如abc.de.
SQL Books Online里有很详尽的解释.backup and restore是很基本的SQL管理技能一定要学会的.
jiangag
2001-01-10
打赏
举报
回复
ok!如果是这样的话,那么wwl007兄的方案“'c:\mssql7\backup\back_l.dat'”的文件的
扩展名是 '.dat',它是什么东东?
漫步晨光L
2001-01-09
打赏
举报
回复
日志文件是'c:\mssql7\data\test_Log.LDF'
"日志备份"是动作,你的备份日志的操作
日志文件是后缀为ldf的文件,是你备份后纪录数据库操作的纪录文件。
jiangag
2001-01-09
打赏
举报
回复
请问wwl007:日志备份是否是'c:\mssql7\data\test_Log.LDF',如果不是,该怎么办?
我的数据库备份是complete备份,日志备份到底是什么?同日志文件有什么不同?
wwl007
2001-01-09
打赏
举报
回复
你是不是对什么都不了解啊!
数据库备份本来就分这个问题吗?
快乐猪说的就对!
wwl007
2001-01-08
打赏
举报
回复
要看清楚了再做
你的问题仅仅需要下面两步
EXEC sp_addumpdevice 'disk', 'back_l', 'c:\mssql7\backup\back_l.dat'
/*备份日志文件*/
backup log mybase to back_l
/*解数据库备份*/
restore database mybase from back_d with NORECOVERY,REPLACE
/*解日志备份*/
restore log mybase from back_l
WITH RECOVERY,STOPAT = 'nov 30, 2000 15:06 PM'
wwl007
2001-01-08
打赏
举报
回复
可以!
这能够解决从最近一次备份到现在为止对数据库的更改。
步骤:
1. 备份日志。
2. 解备份数据库(要加上with norecovery)
3. 解备份日志(要加上时间)
例如:
/*创建备份驱动*/
exec sp_dropdevice 'back_d'
exec sp_dropdevice 'back_l'
EXEC sp_addumpdevice 'disk', 'back_d', 'c:\mssql7\backup\back_d.dat'
EXEC sp_addumpdevice 'disk', 'back_l', 'c:\mssql7\backup\back_l.dat'
/*设置选项*/
exec sp_dboption 'mybase','trunc. log on chkpt.','false'
/*备份数据库*/
backup database mybase to back_d
/*备份日志文件*/
backup log mybase to back_l
/*解数据库备份*/
restore database mybase from back_d with NORECOVERY,REPLACE
/*解日志备份*/
restore log mybase from back_l
WITH RECOVERY,STOPAT = 'nov 30, 2000 15:06 PM'
jiangag
2001-01-08
打赏
举报
回复
我的数据库是每周备份一次(星期日22:00),但是有一次在星期六的下午数据库的一个表
被意外drop,所以丢失了近六天的数据,没有数据备份,只有日志备份,该怎样恢复?
wwwunix
2001-01-06
打赏
举报
回复
日志只能恢复上次备份以来的操作,你的原始数据怎样恢复?
你能否说说你的故障的详细情况?或许我能帮你想想办法。
yangzi
2001-01-05
打赏
举报
回复
呵呵,你惨了,可以日志备份来恢复,好象不能用日志文件本身来执行恢复操作。
所以,很难。
sql2000学生管理
数据库
这是个备份的
数据库
,用于练习SQL语句,在SQL2000中
恢复
该
数据库
就可以使用里面的数据了,注意
恢复
时在选项里要更改一下
恢复
的路径,还要更改
恢复
后的
数据库
的名字,里面有三张表student,course,SC
数据库
恢复
技术-
数据库
习题
数据库
备份也受
数据库
恢复
模式的影响 D.
数据库
备份的策略应该综合考虑各方面的因素,并不是备份做得越多越全就越好 正确答案: A 任何时候都要做好备份,有备无患,以便发生异常能
恢复
数据,避免造成数据丢失 当...
oracle 19c
数据库
基础和日常管理
Oracle
数据库
底层原理解析 课程学习网址: ... Oracle 19c
数据库
基础与日常管理 通过本课程使学员掌握在Linux环境下Oracle 19c
数据库
的基础知识和日常管理。...数据的备份和
恢复
数据库
恢复
技术(事物、三种更新策略以及
恢复
策略)
数据库
恢复
技术(事物、三种更新策略以及
恢复
策略)
数据库
恢复
所要达到的目标
数据库
为了达到目标的
恢复
策略
数据库
恢复
所要达到的目标 1、希望尽可能的减少发生故障的次数。 ...
MySQL
数据库
的
恢复
-mysql
数据库
的
恢复
mysql命令
恢复
,又称为非交互式
恢复
数据库
,既无需登录
数据库
就可以
恢复
,操作如下: mysql -uroot -p <路径+
数据库
名 三、MySQL物理备份工具xtrabackup 1、xtrabackup简介 Percona XtraBackup是世界上唯一一...
MS-SQL Server
34,587
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章