恢复数据库的问题!

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

现在想利用bak备份文件把生产库移到一个pc上做些测试,pc上的磁盘空间只有5G了,默认情况下,bak文件来自哪个库,restore dabase时,也会继承源库的文件信息,比如初始值。怎样在rostore database 到pc上时,不让库和日志都占用8G的空间。
...全文
88 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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的机上.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧