你是不是搞错了???如果是300M 的备份不应该有 5G那么大(你用的是不是mssql 6.5)
如果用sql 7.0 就不会有那么大了。
先恢复在删

解决方案 »

  1.   

    这样大的日志的备份才300M,是因为虽然日志设备文件是5G,但其中的日志内容基本是空的。
    现在这种情况,只能先恢复了,再去减小日志设备文件的大小。
    好在5G不是50G,找块硬盘接成双硬盘,临时用一下吧。
      

  2.   

    to nononono:
    怎样去减小日志设备文件的大小。
      

  3.   

    参考下面吧:
    http://www.csdn.net/expert/Topic/7010.shtm
    http://www.csdn.net/expert/Topic/10308.shtm选择“搜索”,输入关键字:%日志%,再选择一下范围,可以得到很多关于这方面的帖子。
      

  4.   

    我好象前一阵子说过这个问题.(假设你的数据库为biglog)
    1.创建一个新数据库比如temp(其日志及数据文件的增长设为5M,不要设置为10%)
    2.用DTS将整个数据库导入到temp中
    3.exec sp_detach_db 'biglog',false
    4.exec sp_renamedb 'temp','biglog'
    一切OK
      造成这样问题的原因往往是进行多次记入日志的select into或bulkcopy造成的
      

  5.   

    假设这个数据库是testdb,如下:1. 在查询分析器中先执行下面的操作:
    EXEC sp_detach_db @dbname = 'testdb'2. 然后删除testdb的日志文件。3. 在查询分析器中执行下面的操作:
    EXEC sp_attach_single_file_db @dbname = 'testdb', 
        @physname = 'c:\mssql7\data\testdb_Data.MDF'  
    OK. 日志文件被重建,很小。
      

  6.   

    1. 恢复数据库
    2. 点击数据库,在右边选择 truncate log,清空日志
    3. 使用 shrink db 功能压缩数据库.这种情况是不经常做增量备份造成的, SQLServer缺省只有
    在增量备份时才清日志.
      

  7.   

    如果你是指试图LOAD备份文件时SQL6。5抱错,只能说明你原来的数据库数据加日志设备
    一共有5G,那么你只能再拿一台机器装一个MSSQL,创建足够大的设备和数据库,然后
    LOAD,之后将两台机器连网,再使用TRANSFER将新服务器中的数据传到老服务器中,
    这样只要数据空间足够,SQL不会抱错。注意,如果你的存储过程是加密的则此方法不可行(加密存储过程无法TRANSFER)
    老兄,给一点分吧,我快家徒四壁了。
      

  8.   

    先shrink 数据库,然后使用命令 backup log databasename with no_log and truncate_only 清除日志文件。
      

  9.   

    1.备份当前DB
    2.删除所指定的DB
    3.重新恢复刚备份的DB
    4.中断SQL Server服务,而后删除该DB所在目录的.ldf(日志文件后缀)文件(比如删除c:\mssql70\data\db.ldf)
    5.重新启动SQL Server服务,SQL SERVER便会自动创建一日志文件即.ldf文件,才几百K左右。