
/--
出现这种情况,说明你备份的时候指定了两个备份文件
这样,sql在做备份的时候,把数据库的内容分拆写到这两个备份文件中
所以恢复的时候也必须指定这两个备份文件才能恢复
因为一个备份文件中包含数据库中的一部分内容
--/
/--备份/恢复测试
SQL恢复时。提示媒体有2个家族成员。现在只提供了1个。数据备份不能恢复
--/
--下面是对这个问题的测试
--1创建测试的数据库
create database test
go
--2备份数据库(注意,我指定了两个备份文件)
backup database test to disk='c:\a1bak',disk='c:\a2bak' with init
go
--3删除测试的数据库
drop database test
go
--4恢复数据库(第一次,我只提供一个备份文件)
restore database test from disk='c:\a1bak'
go
--5查询是否恢复了
select from mastersysdatabases where name='test'
go
--上面的恢复会出错,也看不到恢复的数据库
--6下面是正确的恢复方法
restore database test from disk='c:\a1bak',disk='c:\a2bak'
go
--7查询是否恢复了
select from mastersysdatabases where name='test'
go
--8删除测试数据库
drop database test
/--下面是测试结果
--1创建数据库的提示信息:
CREATE DATABASE 进程正在磁盘 'test' 上分配 088 MB 的空间。
CREATE DATABASE 进程正在磁盘 'test_log' 上分配 049 MB 的空间。
已处理 112 页,这些页属于数据库 'test' 的文件 'test'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'test' 的文件 'test_log'(位于文件 1 上)。
--2备份数据库的提示信息
BACKUP DATABASE *** 作成功地处理了 113 页,花费了 0180 秒(5108 MB/秒)。
--3删除数据库的提示信息
正在删除数据库文件 'd:\Program Files\Microsoft SQL Server\MSSQL\data\test_logLDF'。
正在删除数据库文件 'd:\Program Files\Microsoft SQL Server\MSSQL\data\testmdf'。
--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 页,花费了 0186 秒(4943 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:03673 1900-01-01 00:00:00000 0 80 d:\Program Files\Microsoft SQL Server\MSSQL\data\testmdf 539
(所影响的行数为 1 行)
--8删除数据库的提示信息
正在删除数据库文件 'd:\Program Files\Microsoft SQL Server\MSSQL\data\test_logLDF'。
正在删除数据库文件 'd:\Program Files\Microsoft SQL Server\MSSQL\data\testmdf'。
--/
像这一类的软件一般会扫描一下残留的略缩图缓存 Thumbsdb(略缩图数据库),然后,根据这个建立起略缩图的数据库 。还有,像这一类数据恢复的软件在恢复文件的时候,都会有一个恢复的概率, 低于这个概率源文件就会出现问题。
造成很慢的原因会很多,比如说当前的服务器IO吃紧,或者CPU吃紧等原因都会导致还原很慢。
仅仅你这点描述,一般是没有办法给你一个很好的解答的。
我只是看你的描述里面有一个问题,就是你说你中途关掉了还原的进程,这个 *** 作极其的危险,很容易导致数据库的数据文件损坏的。
你这个备份文件总共才100M,按理说不应该很慢的,建议你以后备份的时候,将“选项”“可靠性”“完成后验证备份”这个选项勾上,有可能这个备份文件本身就有问题。
你方法不对进到Microsoft SQL Sserver Management Studio后点击新建查询,然后左边列出树来右键点数据库,选择还原数据库然后见图其中aaa是你要新建的库名原设备填写的是你bak文件的路径及文件名下边还原那地方必须划勾然后确定
以上就是关于数据库无法还原,全部的内容,包括:数据库无法还原,、做了订阅发布的数据库 在数据还原时 提示数据正在使用无法还原 怎么解决、所用数据库是sql server 2008R2 bak文件有100M左右,在做“还原数据库” *** 作时,进度条一直不动。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)