加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sqlserver 通过日志文件恢复数据库

发布时间:2020-12-12 12:55:51 所属栏目:MsSql教程 来源:网络整理
导读:USE?master --创建数据库 CREATE?DATABASE?db ON?PRIMARY( ????NAME='db_data', ????FILENAME=?'c:db_data.mdf') LOG?ON( ????NAME='db_log',245)">????FILENAME?='c:db.ldf') GO --创建表 CREATE?TABLE?db.dbo.ta(id?int) INSERT?db.dbo.ta?SELECT?id?FRO
USE?master

--创建数据库
CREATE?DATABASE?db
ON?PRIMARY(
????NAME='db_data',
????FILENAME=?'c:db_data.mdf')
LOG?ON(
????NAME='db_log',245)">????FILENAME?='c:db.ldf')
GO
--创建表
CREATE?TABLE?db.dbo.ta(id?int)
INSERT?db.dbo.ta?SELECT?id?FROM?sysobjects
--做文件组备份
BACKUP?DATABASE?db?TO?DISK='c:db.bak'?WITH?FORMAT
--备份后,再做数据处理
CREATE?TABLE?db.dbo.tb(id?int)
INSERT?db.dbo.tb?SELECT?id?FROM?sysobjects
/*--下面演示了破坏数据文件的处理,这些操作在操作系统中进行
1.?停止SQL?Server服务(msqlserver服务)
2.?删除文件?c:db_data.ndf?(模拟破坏)
3.?重新SQL?Server服务,此时数据库DB置疑
--*/
--下面演示了如何恢复数据
--首先要备份当前日志
BACKUP?LOG?db?TO?DISK='c:db_log.bak'?WITH?FORMAT,NO_TRUNCATE
--利用文件组备份恢复破坏的文件
RESTORE?DATABASE?db?FROM?DISK='c:db.bak'?WITH?NORECOVERY
--还原到日志点
RESTORE?LOG?db?FROM?DISK='c:db_log.bak'?WITH?RECOVERY
--显示已经恢复的数据
SELECT?COUNT(*)?FROM?db.dbo.ta
SELECT?COUNT(*)?FROM?db.dbo.tb
--删除测试
DROP?DATABASE?db

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读