0

0

Tempdb initial size和dbcc shrinkfile

php中文网

php中文网

发布时间:2016-06-07 17:38:43

|

1674人浏览过

|

来源于php中文网

原创

Tempdb initial size和dbcc shrinkfile 在使用sql server时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb, 随着对tempdb的使用,tempdb文件逐渐变得很大(例如30GB),导致了磁盘空间不足。 此时您需要立刻释放tempdb文件所占用的空间,这时你会

Tempdb initial size和dbcc shrinkfile

在使用sql server时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb, 随着对tempdb的使用,tempdb文件逐渐变得很大(例如30gb),导致了磁盘空间不足。 此时您需要立刻释放tempdb文件所占用的空间,这时你会有两个选择:

  • 重启SQL Server。大家都知道SQL Server重启时会创建一个新的tempdb。由于tempdb的initial size并不会随着文件大小的增长而增长,重启SQL Server就会创建一个新的3MB的tempdb。
  • 使用DBCC命令收缩tempdb的大小。如果当前tempdb实际被使用到的空间其实不大,只是文件尺寸很大的话,您可能会考虑使用dbcc shrinkfile来收缩tempdb。通常情况下,这种方案是可行。但是您需要警惕一个潜在的风险。下面是我最近遇到的一个实际的案例。
  •  

    客户尝试使用dbcc shrinkfile依然无法收缩,但发现tempdb大小没有变化,仍然是30GB。客户搜索到了下面的这篇文章:

    Shrink TempDB Transaction Log fails after overflow

     

    于是尝试使用dbcc freesystemcache('ALL') , 然后使用dbcc shrinkfile,但发现tempdb仍然无法收缩。遇到这样情况可能是因为在使用dbcc freesystemcache('ALL')时,依然有session在引用tempdb,所以无法清除所有的internal objects,导致无法收缩。于是客户决定重启sql server。奇怪的是,SQL Server重启后,客户发现tempdb没有变回初始大小的3mb,而是依旧保持了30GB的尺寸。打开SSMS查看tempdb的初始大小,非常奇怪的,initial size变成了30GB…

       

    SEO GPT
    SEO GPT

    免费的白帽SEO,PPC和网站经销商平台

    下载

       

    为什么会出现这样的结果呢?原因是dbcc shrinkfile会把tempdb的initial size设置为语句运行完之后tempdb文件的当前大小。所以当shrinkfile没能成功收缩tempdb时,tempdb的initial size就变成了30GB,即使重启SQL Server, tempdb依旧还是占用了30GB的空间。

       

    因此在执行dbcc shrinkfile前要千万小心咯。你需要确保没有session引用tempdb的情况下执行dbcc freesystemcache('ALL'), 之后再进行收缩。如果无法保证,那么就只能通过执行alter database,将initial size缩小,然后重启SQL Server来收缩tempdb了。Alter database语句如下:

    name='tempdev',size=10mb)

    请注意,如果指定的size小于当前大小,文件是不会缩小的,但initial size会变成指定的size.

       

    更多信息

    ===

     

    上述讨论所的知识点和技巧都是针对tempdb的,请不要将其应用于user database。关于user database的情况我会在后续的文章里介绍。

    posted on

    相关专题

    更多
    Java 项目构建与依赖管理(Maven / Gradle)
    Java 项目构建与依赖管理(Maven / Gradle)

    本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

    11

    2026.01.12

    c++主流开发框架汇总
    c++主流开发框架汇总

    本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

    106

    2026.01.09

    c++框架学习教程汇总
    c++框架学习教程汇总

    本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

    64

    2026.01.09

    学python好用的网站推荐
    学python好用的网站推荐

    本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

    139

    2026.01.09

    学python网站汇总
    学python网站汇总

    本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

    13

    2026.01.09

    python学习网站
    python学习网站

    本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

    19

    2026.01.09

    俄罗斯手机浏览器地址汇总
    俄罗斯手机浏览器地址汇总

    汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

    93

    2026.01.09

    漫蛙稳定版地址大全
    漫蛙稳定版地址大全

    漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

    480

    2026.01.09

    php学习网站大全
    php学习网站大全

    精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

    52

    2026.01.09

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号