场景现象

中午查询了流水,因未与业务人员沟通好。忘了删选条件,导致TempDB不能分配空间,SQL Server高负载执行。

错误分析

我们来看看错误日志:

再来看看TempDB自增长记录:

事件

逻辑文件名称

启动时间

持续时间(毫秒)

大小变化(MB)

数据文件自己主动增长

tempdev_1

2014/4/17 13:01:51

23

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 13:01:27

30

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 13:01:03

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 13:00:42

40

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 13:00:18

20

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:59:55

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:59:32

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:59:09

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:58:47

33

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:58:24

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:58:00

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:57:36

30

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:57:12

26

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:56:48

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:56:24

13

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:56:01

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:55:36

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:55:12

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:54:49

30

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:54:24

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:53:59

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:53:37

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:53:14

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:52:53

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:52:30

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:52:05

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:51:43

13

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:51:21

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:50:59

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:50:36

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:50:13

13

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:49:50

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:49:26

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:49:04

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:48:42

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:48:19

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:47:56

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:47:33

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:47:11

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:46:49

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:46:26

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:46:02

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:45:40

60

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:45:16

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:44:54

16

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:44:32

13

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:44:09

13

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:43:47

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:43:25

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:43:03

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:42:41

3

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:42:20

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:41:56

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:41:35

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:41:11

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:40:50

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:40:29

40

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:40:09

30

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:39:45

23

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:39:23

26

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:39:02

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:38:39

6

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:38:17

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:37:54

13

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:37:32

16

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:37:10

6

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:36:49

6

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:36:27

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:36:05

10

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:35:44

10

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:35:22

10

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:34:59

43

1,024.00

数据文件自己主动增长

tempdev_1

2014/4/17 12:34:37

50

1,024.00

数据文件自己主动增长

tempdev_2

2014/4/17 12:34:08

23

1,024.00

数据文件自己主动增长

tempdev_0

2014/4/17 12:33:35

20

1,024.00

导致原因

查询语句未指定删选条件,语句例如以下:

--得到流水,因数据敏感问题,已将字段使用’xx’取代。
IF EXISTS (SELECT *
FROM tempdb..sysobjects
WHERE id = Object_id(N'tempdb..#t_scfw')
AND type = 'U')
DROP TABLE #t_scfw; IF NOT EXISTS (SELECT *
FROM tempdb..sysobjects
WHERE id = Object_id(N'tempdb..#t_scfw')
AND type = 'U')
SELECT tsvr.*,
bsl.xx AS xxx,
bsl.xx,
bsl.xx
INTO #t_scfw
FROM #t1 AS tsvr
JOIN t2 AS bsl
ON tsvr.xx = bsl.xx
AND tsvr.xx = bsl.xx
AND tsvr.xx = bsl.xx
AND tsvr.xx = bsl.xx
AND bsl.xx > 0;

总结

因为tempdb是存储在SSD上。且总大小为270G。

所以,在显式使用暂时表时一定要注意数据大小。

避免把tempdb空间耗尽,影响整个SQLServer的正常执行。好在设置了tempdb的最大空间。而且最大空间小于SSD硬盘的最大容量,不然server的盘就会挂掉,从而导致server宕机,多么痛的领悟!

切忌犯如此低级错误,作下此文提醒和鞭策自己,凡事三思而后行

Good Luck!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

—教训深刻—SQL Server大约TempDB使用的更多相关文章

  1. SQL Server中tempdb的管理

    原文:SQL Server中tempdb的管理 资料来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ht ...

  2. SQL Server中TempDB管理(version store的逻辑结构)

    原文:SQL Server中TempDB管理(version store的逻辑结构) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/arch ...

  3. SQL Server中TempDB管理(版本存储区的一个example)

    原文:SQL Server中TempDB管理(版本存储区的一个example) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive ...

  4. 监测谁用了SQL Server的Tempdb空间

    原文:监测谁用了SQL Server的Tempdb空间 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/02/11/sql-server-tempdb. ...

  5. SQL Server中tempdb的management

    对<SQL Server中tempdb的management>的一些更正和补充   对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这 ...

  6. [转]如何监测谁用了SQL Server的Tempdb空间

    Tempdb 系统数据库是一个全局资源,供连接到 SQL Server 实例的所有用户使用.在现在的SQL Server里,其使用频率可能会超过用户的想象.如果Tempdb空间耗尽,许多操作将不能完成 ...

  7. 对《SQL Server中tempdb的management》的一些更正和补充

    对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这篇文章:SQL Server中tempdb的management 发现里面有些内容不是很准确 文 ...

  8. sql server转移tempdb数据库的物理存放位置

    转移前将原来的文件备份一下   将 tempdb 从其在磁盘上的当前位置移动到其他磁盘位置.由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志 ...

  9. SQL server performance - tempdb

    When tempdb is used? User objects: User-defined tables and indexes System tables and indexes Global ...

随机推荐

  1. JDBC数据库连接

    JDBC是什么? Java Data Base Connectivity JDBC是: 以统一方式訪问数据库的API,能够訪问不论什么类型表列数据.特别是存储在关系数据中的数据.JDBC代表Java数 ...

  2. Linux scp文件复制

    scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.  1.scp命令的用处:  scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输 ...

  3. vs2008+opencv2.4.9 +win7X64位系统 2.

    小编用自身血淋淋的例子,来给大家做个参考,共耗时近2天时间,终于屈服于安装vs2010,然后配置成功了.但是在这个配置成功后,我终于发现了我08配置不成功的原因,写下心得,供各位参考 1.准备工具 v ...

  4. Hadoop里的Partitioner

    人们对于Mapreduce程序刚開始时都觉得仅仅须要一个reduce就够了. 毕竟,在你处理数据之前一个reducer已经把数据都分好类了,有谁不喜欢分好类的数据呢. 可是这样我们就忽略了并行计算的优 ...

  5. mongodb常用操作语句

    mongodb常用操作语句 A:创建数据表 db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean&g ...

  6. bat文件无法双击运行

    问题: win7系统下新建txt文件,编辑脚本内容后,保存为test.bat.每次双击它,只会默认以txt格式打开它,而不是运行它. 解决: 1. 双击打开“我的电脑”,然后在“工具”下选择“文件夹选 ...

  7. vim netrw

    我们现在试一下vim文件功能,当你使用vim尝试打开目录时,vim会自动调用netrw.vim插件打开该目录(从操作系统的视角来看,目录其实是一种特殊的文件).例如,我们在vim中执行命令”:e -/ ...

  8. wamp的安装使用(转)

    这次需要记录一下我搭建web服务器的过程. 第一步,确定自己要使用的平台:这次我用的是windows2008 server版本 第二步,计划是想要纯手工的安装apache.php等.但是我们可以下载一 ...

  9. Android Ant 和 Gradle 打包流程和效率对照

    一.Ant 打包:(下载ant.配置环境变量就不说了) 1.进入命令行模式,并切换到项目文件夹.运行例如以下命令为ADT创建的项目加入ant build支持: android update proje ...

  10. Class Diagram