读书人

SQL还原有关问题

发布时间: 2012-12-24 10:43:13 作者: rapoo

SQL还原问题
1,在服务器中备份文件得到.bak
backup database DB to disk = 'XXX.bak'
2,把文件拷到自己电脑上进行还原
RESTORE DATABASE DB FROM disk = 'E:\DB.bak'
with MOVE 'DB' TO 'C:\DB.mdf'
,MOVE 'DB_log' TO 'C:\DB_log.ldf'

但是提示 :
磁盘卷 'C:\' 上的可用空间不足,无法创建数据库。数据库尚需 195000139776 字节的可用空间,但只有 57655599104 字节可用。

因为服务器上DB的日志文件有160G之大,所以空间不足.
现在我想在只使用bak文件在我电脑上只还原数据文件,不还原日志文件.不知道能不能实现.

请高手指点,只使用bak文件.
[最优解释]
还原的时候分开多个文件,分配到不同的盘符里面去
[其他解释]
1.如果D盘大的话,可以把日志还原D盘。
2.备份前 把原数据库日志收缩后(日志备份后收缩) 再备份还原。
3.备份还原 不带日志玩 ,貌似日志不干
[其他解释]


backup database OBXKITES to disk='d:\222.bak'

restore filelistonly
from disk='d:\222.bak'
with file=1

--OBXKites d:\SQLData\OBXKites.mdf D
--OBXKitesStatic d:\SQLData\OBXKitesStatic.ndf D
--OBXKitesLog d:\SQLData\OBXKites.ldf L

RESTORE DATABASE OBXKITES
FILE = 'OBXKites',
FILEGROUP = 'PRIMARY'
FROM disk='d:\222.bak'
WITH FILE = 1

类似问题解决方案

[其他解释]
引用:
还原的时候分开多个文件,分配到不同的盘符里面去


找个地方够的盘,还原即可。

[其他解释]
分盘、还原即可
[其他解释]
不过可以到别人的电脑上还原后再收缩、分文件组再备份等
[其他解释]
引用:
SQL code?123456789101112131415161718backup database OBXKITES to disk='d:\222.bak' restore filelistonlyfrom disk='d:\222.bak'with file=1 --OBXKites d:\SQLData\OBXKites.mdf D--OBXKitesSt……


主要是看后面的restore部分
[其他解释]
现在把同事的一个盘共享了出来,用于还原日志.时间太长了.都搞了70多分钟了.还没还原好.
等还原好之后再试试
RESTORE DATABASE OBXKITES
FILE = 'OBXKites',
FILEGROUP = 'PRIMARY'
FROM disk='d:\222.bak'
WITH FILE = 1
这个方案
[其他解释]
支持一下,希望共同进步
[其他解释]
引用:
现在把同事的一个盘共享了出来,用于还原日志.时间太长了.都搞了70多分钟了.还没还原好.
等还原好之后再试试
RESTORE DATABASE OBXKITES
FILE = 'OBXKites',
FILEGROUP = 'PRIMARY'
FROM disk='d:\222.bak'
WITH FILE = 1
这个方案
……
访问公共盘肯定有很大开销的。再者我还真没试过在公共盘还原,不知道行不行。你同事要是空间够,直接在他电脑上做,然后再做其他处理吧
[其他解释]
经测试

RESTORE DATABASE OBXKITES
FILE = 'OBXKites',


FILEGROUP = 'PRIMARY'
FROM disk='d:\222.bak'
WITH FILE = 1

这个是不行的,因为还是会提示log文件的.

读书人网 >SQL Server

热点推荐