数据库正在恢复 数据库总是出现“正在恢复”,怎么回事
这篇文章给大家聊聊关于数据库正在恢复,以及数据库总是出现“正在恢复”,怎么回事对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
数据库无法还原,
/*--
出现这种情况,说明你备份的时候指定了两个备份文件
这样,sql在做备份的时候,把数据库的内容分拆写到这两个备份文件中
所以恢复的时候也必须指定这两个备份文件才能恢复
因为一个备份文件中包含数据库中的一部分内容
--*/
/*--备份/恢复测试
SQL恢复时。提示媒体有2个家族成员。现在只提供了1个。数据备份不能恢复
--*/
--下面是对这个问题的测试
--1.创建测试的数据库
create database test
go
--2.备份数据库(注意,我指定了两个备份文件)
backup database test to disk='c:\a1.bak',disk='c:\a2.bak' with init
go
--3.删除测试的数据库
drop database test
go
--4.恢复数据库(第一次,我只提供一个备份文件)
restore database test from disk='c:\a1.bak'
go
--5.查询是否恢复了
select* from master..sysdatabases where name='test'
go
--上面的恢复会出错,也看不到恢复的数据库.
--6.下面是正确的恢复方法
restore database test from disk='c:\a1.bak',disk='c:\a2.bak'
go
--7.查询是否恢复了
select* from master..sysdatabases where name='test'
go
--8.删除测试数据库
drop database test
/*--下面是测试结果
--1.创建数据库的提示信息:
CREATE DATABASE进程正在磁盘'test'上分配 0.88 MB的空间。
CREATE DATABASE进程正在磁盘'test_log'上分配 0.49 MB的空间。
已处理 112页,这些页属于数据库'test'的文件'test'(位于文件 1上)。
已处理 1页,这些页属于数据库'test'的文件'test_log'(位于文件 1上)。
--2.备份数据库的提示信息
BACKUP DATABASE操作成功地处理了 113页,花费了 0.180秒(5.108 MB/秒)。
--3.删除数据库的提示信息
正在删除数据库文件'd:\Program Files\Microsoft SQL Server\MSSQL\data\test_log.LDF'。
正在删除数据库文件'd:\Program Files\Microsoft SQL Server\MSSQL\data\test.mdf'。
--4.不正确恢复的提示信息
服务器:消息 3132,级别 16,状态 1,行 3
数据库'test'的媒体集有 2个家族成员,但只提供了 1个。必须提供所有的成员。
服务器:消息 3013,级别 16,状态 1,行 3
RESTORE DATABASE操作异常终止。
--5.查询是否恢复了的结果
name dbid sid mode status status2 crdate reserved category cmptlevel filename version
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(所影响的行数为 0行)
--6.正确恢复的提示信息
已处理 112页,这些页属于数据库'test'的文件'test'(位于文件 1上)。
已处理 1页,这些页属于数据库'test'的文件'test_log'(位于文件 1上)。
RESTORE DATABASE操作成功地处理了 113页,花费了 0.186秒(4.943 MB/秒)。
--7.查询是否恢复了的结果
name dbid sid mode status status2 crdate reserved category cmptlevel filename version
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
test 11 0x01050000000000051500000007E53B2B54190E2943170A32F4010000 0 16 1090519040 2003-12-31 16:35:03.673 1900-01-01 00:00:00.000 0 80 d:\Program Files\Microsoft SQL Server\MSSQL\data\test.mdf 539
(所影响的行数为 1行)
--8.删除数据库的提示信息
正在删除数据库文件'd:\Program Files\Microsoft SQL Server\MSSQL\data\test_log.LDF'。
正在删除数据库文件'd:\Program Files\Microsoft SQL Server\MSSQL\data\test.mdf'。
--*/
数据库总是出现“正在恢复”,怎么回事
就是电脑休眠而已,都是正常的,说明你的电脑正好用。所谓休眠,就是把你现在电脑的运行状态,也就是内存(RAM),转变成了一个内存转储文件,保存了下来。然后关机。等你下一次开机的时候,它就自动读取那个内存转储文件,把文件转化成内存,重现你休眠之前的状态。
PS:休眠的时候电脑不用电,类似关机。但是从软件的角度上看,电脑是没有关的。一切都是关机前的状态。
数据库处于回避恢复模式怎么解决
如果是单用户模式,要清楚这个表中的数据。如果还是不行就新建一个数据库,将现有的数据导到新库里。
也可能是因为当前数据库正处在
EMERGENCY
(紧急状态)下,
可以使用
alter
database
数据库名
set
online
来恢复成在线状态。
恢复数据库的方法:
1.
update sysdatabases set status=0 where name='fdshop'
,go
把状态重置为0,重启库。
2.
修复的话,先将将数据库置为单用户模式,sp_dboption'fdshop','single user','true',如果报错,可能有用户正在使用库,在进程管理里面杀掉,用户进程,重新执行,直到成功。
3.
尝试对其进行不丢失数据的修复:DBCC CHECKDB('fdshop',REPAIR_REBUILD)。
尝试对其进行可能丢失数据的修复DBCCCHECKDB('fdshop',REPAIR_ALLOW_DATA_LOSS)
。
4.
将数据库置为多用户模式:sp_dboption'fdshop','single user','false'
,如果用户库无法启动,则打开sql server分析查询器,执行以下命令。
有库状态经常为“正在恢复数据库”怎么办
这种情况应该是不正常关机导致的.
我先到网上去找找解决办法.
如果实在不行的话,
就使用最后一招.
在一个时间段(该时间段数据库是正常状态,并且不让用户连接),使用导入导出将所有的数据以及物件导入到另外个数据库中.
另外说明下:如果是在正常状态下做的备份,可能恢复出来的数据库也会出现那种状态
关于本次数据库正在恢复和数据库总是出现“正在恢复”,怎么回事的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。