-
仅有日志文件的数据修复处理示例
.sql
USE
master
--
创建数据库
CREATE
DATABASE
db
ON
PRIMARY
(
NAME
=
'db_data'
,
FILENAME
=
'c:db_'
)
LOG
ON
(
NAME
=
'db_log'
,
FILENAME
=
'c:'
)
GO
--
创建表
CREATE
TABLE
(id
int
)
INSERT
SELECT
id
FROM
sysobjects
GO
--
做文件组备份
BACKUP
DATABASE
db
TO
DISK
=
'c:'
WITH
FORMAT
--
备份后
,
再做数据
处理
CREATE
TABLE
(id
int
)
INSERT
SELECT
id
FROM
sysobjects
GO
/*
--
下面演示了破坏数据文件的处理,这些操作在操作系统中进行
1.
停止
SQL Server
服务
(msqlserver
服务
)
2.
删除文件
c:db_
(
模拟破坏
)
3.
重新
SQL Server
服务
,
此时数据库
DB
置
疑
--*/
GO
--
下面演示了如何恢复数据
--
首先要备份当前日志
BACKUP
LOG
db
TO
DISK
=
'c:db_'
WITH
FORMAT,NO_TRUNCATE
--
利用文件组备份恢复破坏的文件
RESTORE
DATABASE
db
FROM
DISK
< br>=
'c:'
WITH
NORECOVERY
--
还原到日志点
RESTORE
LOG
db
FROM
DISK
< br>=
'c:db_'
WITH
RECOVERY
--
显示已经恢复的数据
SELECT
COUNT
(
*
)
FROM
SELECT
COUNT
(
*
)
FROM
GO
--
删除测试
DROP
DATABASE
db
无数据库日志文件恢复数据库方法两则
=================================================
=====================
方法一
1.
新建一个同名的数据库
2.
再停掉
sql
server(
注意不要分离数据库
)
3.
用原数据库的数据文件覆盖掉这
个新建的数据库
4.
再重启
sql server
5.
此时打开企业管理器时会出现置
疑,
先不管,
执行下面的语句
(注意修
改其中的数据库名
)
6.
完成后一般就可以访问数据库中的数据了
,
这时
,
数据库本身一般还要问题
,
解决办法是
,
利
用
p>
数据库的脚本创建一个新的数据库
,
p>
并将数据导进去就行了
.
USE MASTER
GO
SP_CONFIGURE 'ALLOW
UPDA
TES',1 RECONFIGURE WITH OVERRIDE
GO
UPDATE
SYSDATABASES SET STATUS =32768 WHERE
NAME='
置疑的数据库名
'
Go
sp_dboption
'
置疑的数据库名
', 'single user',
'true'
Go
DBCC
CHECKDB('
置疑的数据库名
')
Go
update sysdatabases set status =28
where name='
置疑的数据库名
'
Go
sp_configure
'allow updates', 0 reconfigure with override
Go
sp_dboption
'
置疑的数据库名
', 'single user',
'false'
Go
=================
==================================================
===
方法二
< br>1
,把数据库设置为
emergency mode
2
,重新
建立一个
log
文件
3
,把
SQL Server
重新启动一下
4
,把应用数据库设置成单用户模式
5
,做
DBCC CHECKDB
6
,如果没有什么大问题就可以把数
据库状态改回去了,记得别忘了把系统表的修改选项关
掉
我实践了一下,把应用数据库的数据文件移走,重新建立一个
同名的数据库
XXX
,然后停
掉
SQL
服务,把原来的数据文件再覆盖回来。之后,按照怡红公子的步
骤走。
但是,也很遗憾,除了第<
/p>
2
步之外,其他步骤执行非常成功。可惜,重启
< br>SQL Server
之后,
这个应用数据库仍然是置疑
!
不过,让我欣慰的是,这么做之
后,倒是能够
Select
数据了,让我大出一口气。只不过,
组
件使用数据库时,报告说:
“发生错误:
-2147467259,
未能在数据库
'XXX'
中运行
BEGIN
TRANSACTION
,因为该数据库处于回避恢复模式。
”
最终成功恢复的全部步骤
设置数据库为紧急模式
停掉
SQL
Server
服务;
把应用数据库的数据文件
XXX_
移走;
重新建立一个同名的数据库
< br>XXX
;
< br>停掉
SQL
服务;
把原来的数据文件再覆盖回来;
-
-
-
-
-
-
-
-
-
上一篇:NCBI_功能详细介绍
下一篇:人教版七年级英语三单元汉语翻译解析