• SQL Server 2008 install SP3后,发布数据库log变得越来越大


    起因:
    前一段时间在为一组sql server 2008 failover cluster安装sp3,之前是sq1.
    windows server 2003 enterprise 64bit + sql server 2008 enterprise 64bit
    failover cluster 是active/acitve 双实例

    问题:
    在两个节点都install sp3后,发现有一个sql server实例在切换时(其实也就是在restart sql server service),用SSMS连接时会显示“服务器处于脚本升级模式。此时只有管理员可以进行连接”,大概几分钟,之后就正常了,当时就并未重视。过了段时间,在例行维护切换时,问题重现,此时意识到之前安装sp3的时候应该存在问题。最近发现该实例上一个发布的库,log文件增长到了近30GB,于是考虑收缩该Log文件。但在收缩时,发现尽管不停的备份log,仍然无法收缩Log文件。

    检查:

    通过查看该库的log_reuse_wait_desc,发现值为ACTIVE_TRANSACTION



    于是查看虚拟日志文件使用情况,发现有2000多个虚拟日志文件都为活动状态



    查看活动的事务信息,发现一个名为tran_sp_mscreate_peer_tables自从2012.02.02 晚10点43起一起到现在,而这个时间是上次切换该cluster时间;


    近一步验证,transaction_type=1标明是写操作;

    从sql server errorlog内发现Error executing sp_vupgrade_replication.

    推断应该是在生升发布订阅相关对象时失败,导致事务尽管已被发布到分发,但无法标记为已分发,也就始终无法截断它们并重用。

    解决:
    目前google到的方法大概是:
    1.disabled sql agent service
    2.stop sql server service and sql agent service
    3.only start sql server service
    4.execute sp_vupgrade_replication
    5.restart sql server service
    6.enable and start sql agent service.

    在操作过程中,sql server 处于脚本升级模式,不可以连接。

    2012.03.09补充:经邮件咨询微软支持组,得到官方解决方法:
    官方解决方案:
    http://support.microsoft.com/kb/2509302



    相关讨论:http://social.msdn.microsoft.com/Forums/en-US/sqlsetupandupgrade/thread/b77799d2-a931-467a-928d-49426d83d5ce/


    作者:nzperfect
    出处:http://www.cnblogs.com/nzperfect/
    引用或者转载本BLOG的文章请注明原作者和出处,并保留原文章中的版权信息。

  • 相关阅读:
    批量管理服务器,批量分发文件
    IIS最大连接数优化
    在CentOS 7中安装与配置JDK8
    可扩展流程设计工具方案
    An internal erroroccurred during: "Removing compiler problem markers...".java.lang.String
    .NET和java之争实没必要
    提高生产率的VS插件
    Java Synchronized关键字
    Flex拖动实现方法
    WF3.0和4.0区别介绍
  • 原文地址:https://www.cnblogs.com/nzperfect/p/2384783.html
Copyright © 2020-2023  润新知