none
SQL2000 tempdb问题 RRS feed

  • 问题

  • 公司用的ERP数据库。。现在tempdb 有30GB,到月底的时候会达到60GB左右。我看了下数据库文件 ERP.MDF才20GB左右。怎么会这样。。这个tempdb可以限制起来吗?

    2010年5月12日 6:37

答案

  • 你截断日志,然后收缩一下吧

    定期做这个工作就不会这么大了

    限制不是一个好主意,因为满的时候可能会影响一些数据库操作(主要是查询或者涉及到临时表等的一些操作)。

    sql命令

    backup log tempdb with no_log --截断日志,建议截断前将日志备份出去

    DBCC SHRINKDATABASE     --收缩数据库,一般截断后也可以不收缩


    family as water
    2010年5月12日 8:44

全部回复

  • 你截断日志,然后收缩一下吧

    定期做这个工作就不会这么大了

    限制不是一个好主意,因为满的时候可能会影响一些数据库操作(主要是查询或者涉及到临时表等的一些操作)。

    sql命令

    backup log tempdb with no_log --截断日志,建议截断前将日志备份出去

    DBCC SHRINKDATABASE     --收缩数据库,一般截断后也可以不收缩


    family as water
    2010年5月12日 8:44
  • TempDB里存储了太多持久性资料吧<未及时释放的对象,比如全局临时表>

    既然是2000,建议一个礼拜重启动一次,它自然就重建了

    如果强制限制它的增长,会可能导致业务不能正常运行呢


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com
    2010年5月12日 9:38
  • Why sql2k can restart weekly? Tempdb is recreated during startup no matter which version of sql you use.
    2010年5月12日 12:11
  • 一些sql操作,或者临时表会占用tempdb的空间. tempdb膨胀说明你的应用有需要.

     

    并且,tempdb的恢复模式是simple,无法进行日志备份操作


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年5月12日 15:03
    版主
  • TMPDB 数据库是一个临时数据库,主要存放一些临时信息。不过相当重要也很影响性能;这个数据库的模式一般建议为简单模式。如果方便尽量将这个数据库不要与业务数据库存放在一个盘符里面。
    2010年5月13日 0:10
  • 和我的ERP数据库文件不是放在一个目录里的。。但是每周重新启动也不是个好办法吧?

    2010年5月13日 8:12
  • Can shrink in sql job.
    2010年5月13日 12:39
  • 必须在 tempdb 数据库不发生任何活动时运行 DBCC SHRINKFILE 命令。要确保在执行 DBCC SHRINKFILE 时其他进程不能使用 tempdb,必须以单用户模式重新启动 SQL Server。 -------------------------- 在msdn上看到以上这句话,请问对于生产数据库,什么时间执行DBCC SHRINKFILE 命令最合适?毕竟生产数据库一直在运行啊。
    2013年11月13日 2:02
  • On weekends maybe? Anytime with least usage.
    • 已建议为答案 啵啵猪 2013年11月13日 2:20
    2013年11月13日 2:11
  • Thank you for your advice.
    2013年11月13日 2:20