dump trans databasename with no_log

解决方案 »

  1.   

    刚才写错了dump tran databasename with no_log
      

  2.   

    dump tran databasename with no_log 只能截取日志,不能改变日志空间你可以在enterprise manager中右击数据库后/edit/database/shrink 后
    弹出窗改变数据库(其实就是日志),这需要单用户模式
      

  3.   

    yangzi谢谢大家的帮助,不过我用的是SQL 7.0,在shrink里好象不能改它的大小,另外什么是单用户模式,该怎么操作?
      

  4.   

    有两种方法:
    1 先shrink 数据库,再使用dump tran databasename with no_log (别人成功过,我没有试过),减完后,不要忘记选自动tran选项
    2 方法比较土,先移走数据文件,再新建空数据库,注意数据文件名字与原来一样。
    再用新的日志文件和旧的数据文件组成新的数据库,这样日志文件其实没有记录其他信息了。这种方法适合数据量不是特别大的数据库
      

  5.   

    设置成单用户模式的另外一种方法是sa用户使用 sp_dboption 命令.首先其他用户都退出.运行命令 sp_dboption '数据库名','single user',true;  若要将单用户再设置为多用户,运行
    sp_dboption 'jahwa_jyb','single user',false即可.给 SQL Server的事务日志减肥方法可以是: 先dump tran dbname with no_log,再使用shink命令,命令执行好后,可能立即看不出效果,要重启数据库服务器.
      

  6.   

    数据文件拷出
    删除原数据库
    将原数据文件(没有LOG)拷回
    运行
    EXEC SP_ATTACH_DB(......)
    不过原来的LOG没有了,但绝对可行。