如题
SQL SERVER 2008 R2 +win server 2008 r2 64bit
有一个用户数据库,简单恢复模式,原来有启用过订阅发布功能,后来取消,
最近log文件异常增大上百G,而且无法收缩
我翻了一下文档,查到sys.databases.log_reuse_wait的值是6
微软是这么说的 log_reuse_wait 6 = 复制
http://technet.microsoft.com/zh-CN/library/ms178534我想log异常增大而且无法收缩应该跟这个值有关系,该怎么解决呢,使db的log文件在简单恢复模式下收缩到1G?sys.databases log_reuse_waitlog文件异常增大

解决方案 »

  1.   

    DBCC SQLPERF(LOGSPACE)查过LOG利用率吗?如果大的话确实可以收缩。但是log_reuse_wait 6 = 复制,看起来好像复制没有被删除干净啊。建议再查一下。因为如果复制没有被清除干净的话,即使是在Simple模式下,日志仍然不会被Truncate掉,所以会导致日志增长的很大。 
      

  2.   

    Log Size (MB) Log Space Used (%)
    97030.99      95.74537应该是复制没清干净,感觉这个复制功能一堆的bug,
    怎么用语句检查后台有没有清干净复制功能呢
      

  3.   


    select name, is_published, is_subscribed, is_merge_published, is_distributor
      from sys.databases
      where is_published = 1 or is_subscribed = 1 or
      is_merge_published = 1 or is_distributor = 1
      

  4.   

    那发布的数据库里边查询发布的Article还可以找到吗?
      

  5.   

    sql server 2005 和 sql server 2008 已经不允许直接修改系统表,allow updates 选项已经不再有用。
     
    直接更改sys.databases的值也不行,
    该怎么办呢,让sys.databases.log_reuse_wait值小于6?好让我收缩日志
      

  6.   

    解决办法:
    1.exec sp_replicationdboption @dbname = N'你的数据库名', @optname = N'publish', @value = N'true'
    2.exec sp_repldone null,null,0,0,1 
    3.再收缩,估计方法你知道。再不行联系我
      

  7.   

    问题是解决了,但replication一定是true,才能收缩,如果改回false,
    sys.databases.log_reuse_wait的值又变回6而且执行这段存储的时候提示插入重复键,得把系统表的这个pk删除了才能执行.这算是SQL的BUG吗?还是我用户库本身有问题?exec sp_replicationdboption @dbname = N'test', @optname = N'publish', @value = N'true'
    消息 2627,级别 14,状态 1,第 1 行
    违反了 PRIMARY KEY 约束“PK__sysrepls__10A5BE6335050A0A”。不能在对象“dbo.sysreplservers”中插入重复键。重复键值为 (testserver)。
    语句已终止。
      

  8.   

    我觉得微软的Replication删除确实有时候会遇到问题,我曾经也有碰到删除失败的情况。
      

  9.   

    还有一种可能就是你这个库是从其它服务器上的发布库的备份还原出来的。设置为true并不会有什么影响,你可以不必改成false.
      

  10.   


    一般按正常的创建与删除,并且使用的都是常规的功能,基本稳定,没有问题。
    如果用脚本做过一些不常用的功能或属性设置,的确容易触发某些个BUG.
      

  11.   

    这个问题还是没有永久解决,改过一段时间 后sys.databases.log_reuse_wait的值又会变成6,导致日志没有办法truncate,log持续自动增长无法截断。
    看来得专门花时间研究一下订阅发布的这几个系统存储过程了。
    或者再开一贴请教