由于数据库的文件的位置对于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

查询结果如图:

配置步骤:

使用之前的查询和监控,根据我们的使用情况我们可以简要分成一下几个步骤来配置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 权限授予服务账户。或者使用管理员权限的账户运行。

另一个很好用的工具是 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瓶颈。

关于tempdb的一些注意事项的更多相关文章

  1. Tempdb的并发阻塞

    9.3 Tempdb的并发阻塞 在介绍Tempdb的并发问题前,先介绍几个比较特殊的数据页. PFS(Page Free Space),用于标识数据页空间的使用情况,以字节标识,可以表示数据页使用百分 ...

  2. 总结sqlserver数据库性能优化相关的注意事项

    一.分析阶段一般来说,在系统分析阶段往往有太多需要关注的地方,系统各种功能性.可用性.可靠性.安全性需求往往吸引了我们大部分的注意力,但是,我们必须注意,性能是很重要的非功能性需求,必须根据系统的特点 ...

  3. 部分常见ORACLE面试题以及SQL注意事项

    部分常见ORACLE面试题以及SQL注意事项 一.表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, PRIMARY ...

  4. EntityFrame Work 5 性能注意事项(转自MSDN)

    1.简介 对象关系映射框架是一种在面向对象的应用程序中提供数据访问抽象的便捷方式.对于 .NET 应用程序,Microsoft 推荐的 O/RM 是实体框架.但任何抽象都要考虑性能. 本白皮书旨在介绍 ...

  5. SqlServer注意事项总结,高级程序员必背!

    本篇文章主要介绍SqlServer使用时的注意事项. 想成为一个高级程序员,数据库的使用是必须要会的.而数据库的使用纯熟程度,也侧面反映了一个开发的水平. 下面介绍SqlServer在使用和设计的过程 ...

  6. jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧

    这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...

  7. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  8. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

  9. app开发外包注意事项,2017最新资讯

    我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...

随机推荐

  1. ASP.NET使用NPOI加载Excel模板并导出下载

    1.为什么要使用NPOI导出Excel? 一.解决传统操作Excel遇到的问题: 如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导 ...

  2. MyEclipse10修改servlet模版

    Myeclipse10中servlet模版存放的位置与早些的版本不同,它存放在: MyEclipse\Common\plugins中的下面那个jar包中 com.genuitec.eclipse.wi ...

  3. Asynchronous Jobs

    Because Play is a web application framework, most of the application logic is done by controllers re ...

  4. sql搜索数据库中具有某列的表

    在接口中明明有某个节点,但在数据库中却找不到,为此本人写了一个sql,以供快速查找. Select distinct syscolumns.name,sysobjects.name from sysc ...

  5. javascript笔记图

    1.this 2.对象 3.继承 4.跨域 5.事件 6.基础

  6. 定制Eclipse IDE之界面篇

    为什么要定制IDE?      在工作时候,当公司有了自己的框架,给自己开放人员用,甚至是可以卖的时候,我们可以做成一个产品,而这个产品将包括框架本身.文档.工具.教程等等.工具之中最重要的莫过于开发 ...

  7. 详细解读XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度

    本文主要参考:MDN 分析并操作 responseXML属性 如果你使用 XMLHttpRequest 来获得一个远程的 XML 文档的内容,responseXML 属性将会是一个由 XML 文档解析 ...

  8. spring web MVC

    详情:http://blog.csdn.net/mic_hero/article/details/50237627

  9. Sass的使用和基础语法

    sass安装 官网下载ruby的windows安装包,安装时勾选上添加到环境变量add ruby executables to your path.安装完成后打开命令行,ruby -v输出内容则安装完 ...

  10. .NET破解之图片下载器

    自去年五月加入吾爱后,学习了三个月,对逆向破解产生了深厚的兴趣,尤其是对.NET方面的分析:但由于这一年,项目比较忙,事情比较多,破解这方面又停滞了许久,不知道还要好久. 前些天,帮忙批量下载QQ相册 ...