深刻的教训——SQL Server关于TempDB的使用[原创]_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4056 | 回复: 1   主题: 深刻的教训——SQL Server关于TempDB的使用[原创]        下一篇 
    本主题由 hui.chen 于 2014-11-5 16:20:14 移动
Robin
注册用户
等级:少校
经验:856
发帖:63
精华:4
注册:2014-3-22
状态:离线
发送短消息息给Robin 加好友    发送短消息息给Robin 发消息
发表于: IP:您无权察看 2014-4-20 9:28:23 | [全部帖] [楼主帖] 楼主   主页

场景现象

中午查询了流水,因未与业务人员沟通好,忘了删选条件,导致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硬盘的最大容量,不然服务器的盘就会挂掉,从而导致服务器宕机,多么痛的领悟!切忌犯如此低级错误,作下此文提醒和鞭策自己,凡事三思而后行

Good Luck!


本文首发与CSDN博客,地址: http://blog.csdn.net/justdb/article/details/24097741
该贴被Robin编辑于2014-4-20 9:29:56
该贴被Robin编辑于2014-4-20 9:30:45
该贴被Robin编辑于2014-4-20 9:31:32
该贴被Robin编辑于2014-4-20 9:32:01

该贴由hui.chen转至本版2014-11-5 16:20:14

该贴由hui.chen转至本版2014-11-11 15:08:57




赞(0)    操作        顶端 
hanhan
注册用户
等级:新兵
经验:76
发帖:0
精华:0
注册:2017-4-5
状态:离线
发送短消息息给hanhan 加好友    发送短消息息给hanhan 发消息
发表于: IP:您无权察看 2017-4-5 20:03:03 | [全部帖] [楼主帖] 2  楼

学习了



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论