关于tempdb的一些注意事项

关于tempdb的一些注意事项

    由于数据库的文件的位置对于I/O性能如此重要,以至于在创建主数据文件的文职时,需要考虑tempdb性能对系统性的影响,因为它是最动态的数据库,速度还需要最快。

  组成:有主数据文件和日志文件组成。从sql server2005开始添加了许多功能集的支持来创建用户对象、内部对象或版本。如:触发器、查询、快照隔离、多个活动结果集、联机索引创建、游标、lob参数、临时表、表变量和表-值函数等等。

   重启SQL Server,tempdb是唯一恢复为原始默认大小的数据库(8M),并且将根据使用率的要求继续增长。增长率一般应该被设为允许文件在两分钟内完成增长的数字。

   实时监控tempdb,可用下面的语句查询到5项执行任务,它们最大限度的使用tempdb:

select top 5 * from sys.dm_db_session_space_usage
order by (user_objects_alloc_page_count+internal_objects_alloc_page_count) desc

   推荐使用下面的查询来监控tempdb的大小,一般每周运行一次来查询使用情况,主要显示:内部对象、空闲空间、版本存储区和用户对象使用的空间:

select sum(user_object_reserved_page_count)*8 as 用户对象,sum(internal_object_reserved_page_count)*8 as 内部对象,
sum(version_store_reserved_page_count)*8 as 版本存储, sum(unallocated_extent_page_count)*8 as 空闲空间
from sys.dm_db_file_space_usage

查询结果如图:

QQ截图20150607235111

 

配置步骤:

使用之前的查询和监控,根据我们的使用情况我们可以简要分成一下几个步骤来配置tempdb。

1.根据上面的语句来为tempdb来分配预先的空间,同时启动自增长功能来防止耗尽空间引起SQL Server 停止运行。

2.经验法则,每个cpu为每个实例创建tempdb数据文件的个数大小都相同,最多8个。

3.确保将tempdb设置为简单恢复模式。

4.自增长的值一般为初始大小的10%。

5.将tempdb 放在快速、专用的I/O子系统上。

6.使用SQL Server 代理或带有SQL Knowledge Pack 的MSCOM来创建监控环境的警报,以确保跟踪1101或1105(数据已满)。

其中主要监控这几计数器:SQLServer:Databases:LogFile(s)Size(KB)、SQLServer:Databases:DataFile(s)Size(KB)、SQLServer:Databases:Log File(s)Used(KB)。

7.使用即时数据库文件初始化。确保将SE_MANAGE_VOLUME_NAME 权限授予服务账户。或者使用管理员权限的账户运行。

image

另一个很好用的工具是 DMV sys.dm_db_task_space_usage.

总结:

     本篇我们简单介绍了如何规划设计和预警配置tempdb ,主要理解如何才能不至tempdb空间耗尽引起SQL Server 停止运行,同时如何配置使的性能得到更大提高。最后需要注意的是,警报任务完成后计数器重新定为0,另外还应该监控磁盘计数器Avg.Sec/Read和Avg.Sec/Write,小于10ms为很好,10-20ms为及格,20-50ms是缓慢,需要注意,大于50ms处于严重的IO瓶颈。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119747.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月25日 上午8:00
下一篇 2021年11月25日 上午9:00


相关推荐

  • PyCharm之Matplotlib不显示图像(for Mac)

    PyCharm之Matplotlib不显示图像(for Mac)问题 Python 环境 3 6 3Mac 系统 10 12 6macOSSierra 我用 PyCharm 使用 Matplotlib 时候 justforMac 发现不能显示出图像 但是 我在 Eclipse 里面使用 却可以正常显示图像 那么 可以确定的是 我 PyCharm 出了问题 到底是什么原因呢 分析 解决网上找了好几种方法 最后找到了解决办法 总结一下 那种方法是

    2026年3月16日
    2
  • 【Linux】LD_PRELOAD用法

    【Linux】LD_PRELOAD用法LD PRELOAD 是个环境变量 用于动态库的加载 动态库加载的优先级最高 一般情况下 其加载顺序为 LD PRELOAD gt LD LIBRARY PATH gt etc ld so cache gt lib gt usr lib 程序中我们经常要调用一些外部库的函数 以 malloc 为例 如果我们有个自定义的 malloc 函数 把它编译成动态库后 通过 LD PRELOAD 加载 当程序中调用 malloc 函数时 调用的

    2026年3月19日
    2
  • 苹果绿RGB值

    苹果绿RGB值ESL 的值为 85 123 205RGB 的值为 199 237 204ESL 和 RGB 只需填一个即可 另一个会自动调整 转载于 https www cnblogs com pandaly p 10337142 html

    2026年3月20日
    2
  • springboot集成hadoop实战

    springboot集成hadoop实战springboot 集成 hadoop 实现 hdfs 增删改查 maven 坐标 dependency groupId org apache hadoop groupId artifactId hadoop common artifactId version hadoop version version lt dependency

    2026年3月16日
    2
  • 一只小龙虾何以引爆全球AI圈?

    一只小龙虾何以引爆全球AI圈?

    2026年3月13日
    2
  • matlab仿真的五个步骤,matlab仿真步骤

    matlab仿真的五个步骤,matlab仿真步骤基于matlab的MPSK的仿真流程图_计算机软件及应用_IT/计算机_专业资料…DataImport/Export:SIMULINK和MATLAB工作间数据的输入和输出设定,以及数据存储时的格式、长度等参数设置;(3)?Diagnostics:允许用户选择在仿真过程中警告信息……simulinkmatlab仿真环境教程Simulink是面向框图的仿真软件。演示一…

    2022年6月4日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号