导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

恢复数据库的问题!

aqlover 2007-12-22 09:50:12
为了减少磁盘碎片,生产库 maindb 在创建时,数据文件和日志文件的初始值都是8G。当前库中数据还不是很多,bak备份文件只有150M。

现在想利用bak备份文件把生产库移到一个pc上做些测试,pc上的磁盘空间只有5G了,默认情况下,bak文件来自哪个库,restore dabase时,也会继承源库的文件信息,比如初始值。怎样在rostore database 到pc上时,不让库和日志都占用8G的空间。
...全文
66 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
w2jc 2007-12-23
如果可以的话,试试从生产机使用“数据库复制向导”,把数据库直接复制到备份机上。
回复
aqlover 2007-12-23
由于create database 时的size定义为8G,在原库上再怎么操作都是白搭,现在的bak文件倒是很小,只有150M。
想问问怎么利用bak文件在空间有限的pc上restore database 时,只用到对应实际数据大小的空间,这样就可以节省磁盘了。

如果真的有办法,请哪位高手给出 tsql 语句。先谢了!
回复
aqlover 2007-12-23
谢谢wuxi_88,你的方式怕是最合理的了。

但是源库是生产库,生产环境,不便更改。还有,生产库中把库的初始值定为8G,本身也就是防止物理文件碎片。
回复
正牌风哥 2007-12-23
楼主可用,先收缩一下数据库文件,停止一下SQL,复制数据库文件,在另一台机只附加数据库文件,自动产生新日志
回复
OracleRoob 2007-12-23
在备份时先截断日志,这样备份出来的数据库,再还原就不会占用那么大的空间了。
回复
rouqu 2007-12-23
想问问怎么利用bak文件在空间有限的pc上restore database时,只用到对应实际数据大小的空间,这样就可以节省磁盘了
-------
restore里面没有这样的选项 要不大家不早说了?!
回复
dawugui 2007-12-22
在原来的机器上压缩库,清除日志,将数据库和日志文件减小.
然后备份库.

然后再去PC机器上还原.
回复
rouqu 2007-12-22
如你所说 恢复出来的MDF/LDF会各占用8G

Method_1:cxmcxm所说
Method_2:DTS导数据过去也一样
回复
cxmcxm 2007-12-22
在原机上以其它名称再恢复一数据库,压缩此数据库,将多作的空间去掉,再备份此数据库,恢复至只有5G的机上.
回复
cxmcxm 2007-12-22
在原机上以其它名称再恢复一数据库,压缩此数据库,将多作的空间去掉,再备份此数据库,恢复至只有5G的机上.
回复
cxmcxm 2007-12-22
在原机上以其它名称再恢复一数据库,压缩此数据库,将多作的空间去掉,再备份此数据库,恢复至只有5G的机上.
回复
cxmcxm 2007-12-22
在原机上以其它名称再恢复一数据库,压缩此数据库,将多作的空间去掉,再备份此数据库,恢复至只有5G的机上.
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告