ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 微软sql SERVER 2005一个cache的BUG引起的问题(SP补丁包小于等于2)

微软sql SERVER 2005一个cache的BUG引起的问题(SP补丁包小于等于2)

原创 Linux操作系统 作者:edwardking888 时间:2011-07-29 16:36:10 0 删除 编辑
公司数据库在2009年的时候(数据库版本SQL SERVER 2005 SP2)遇到过一个超级大的BUG,引起数据库运行异常缓慢。后来通过微软技术支持网站获得解决。现摘录下来(当时还没有写博客的习惯,只是摘录在word文档中,今天在看工作记录的时候,发现了这个文档。),供参考:

问题描述

=======

数据库服务器运行一段时间后,前端应用的查询会越来越慢。重启sql server,能暂时解决这个问题,但随着运行时间加长,问题又会再次发生。


根本原因

=======

Sql server为了增强性能,会尽可能使用cacheTokenAndPermUserStore是其中的一种。由于机器是64位,内存有64GBsql server没有内存压力,因此它就不会去清空这个cache。可是,由于访问这个cache只能单一线程,因此当cache的数目很大时,反而在线程间相互阻塞,造成sql server的性能下降。


解决方案

=======

添加-T4610-T4618标志,重启sql server

-T4610 使得sql server 使用2048 bucketscache tokenperm cachestoreSql 2005 缺省是256.

-T4618 合并-T4610,每个database8192 buckets,更大了。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-703565/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Ganglia安装指南
请登录后发表评论 登录
全部评论

注册时间:2010-04-03

  • 博文量
    477
  • 访问量
    1436718