日期:2014-05-17  浏览次数:20753 次

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',