关于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瓶颈。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java经典设计模式之十一种行为型模式(附实例和详解)

    Java经典设计模式之十一种行为型模式(附实例和详解)

    2020年11月12日
  • Dreamweaver CS6 完全自学教程 (一)[通俗易懂]

    Dreamweaver CS6 完全自学教程 (一)[通俗易懂]DreamweaverCS6完全自学教程DreamweaverCS6教程下载地址(百度网盘):https://pan.baidu.com/s/1fIUk4O36JCNVCfOQSH22vw百度网盘下载(压缩包):https://pan.baidu.com/s/17G11dm_uXFCWVn5y…

  • C语言排序(冒泡排序、选择排序、插入排序和快速排序)

    C语言排序(冒泡排序、选择排序、插入排序和快速排序)C语言排序(冒泡排序、选择排序、插入排序和快速排序)C语言排序什么是排序?1.冒泡排序基本思想主要思路:动态示例demo2.选择排序基本思想主要思路动态示例demo3.插入排序基本思想主要思路动态示例demo4.快速排序基本思想主要思路动态示例demoC语言排序什么是排序?就是将无序的变成有序的1.冒泡排序基本思想在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,

  • smartgwt (A)「建议收藏」

    smartgwt (A)「建议收藏」 smartgwt一个比较陌生的名字,却充满了神奇,模糊了web应用和windows应用的界限。很多人听过gwt,是的,用java写Ajax,smartgwt不仅多了一层华丽的包装,而且将gwt发挥到了极致!三者结合所产生的优势:跨操作系统、跨浏览器(主流的)、异步的实现web应用程序。 smartgwt很大的一个特点是,即使你不会美工,也能将页面处理的很得体,很美观(限网络应用程序,不需

  • eureka集群快速搭建

    eureka集群快速搭建提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档eureka集群一、配置三个eureka-server二、启动三个eureka-server,并访问三、启动一个消费者四、访问三个eureka-server,都有消费者服务一、配置三个eureka-server三个eureka-server的application.yml文件如下eureka-serverserver:port:8761eureka:instance:hostname:eureka-s

  • 记录ci框架中定时任务的执行[通俗易懂]

    记录ci框架中定时任务的执行

发表回复

您的电子邮箱地址不会被公开。

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