今天早上,Dev跟我说,执行query statement时出现一个error,detail info是:

“The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'”

错误信息提示:由于活动事务太长,使得 tempdb 的 transaction log file 空间用尽。

一般情况下,由于tempdb 的 Recovery Mode是 simple,日志文件会自动截断和重用,如果活动事务太长,或短时间内事务日志太多,导致事务日志不能及时截断和重用,会出现log file 空间不足的问题。检查tempdb的日志file的设置:最大值,自动增长和Disk 剩余可用空间,保证 tempdb的 log file 有足够的Disk空间。

如果不是日志File设置的问题,那可能是tempdb的数据文件(mdf 或ndf)空间不足。查看Sql server的ErrorLog,发现错误信息:

"Could not allocate space for object 'dbo.TempTable_xxxx' in database 'db_yyyy' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup."

解决方案:

为tempdb 增加 File 或增加现有file的最大值,建议将 tempdb 的 files 存放在不同的Disk上,并且 files 的数量接近于或等于 CPU 数量,这样能够减少 PageLatch 和 PageIOLatch 等待。

参考文档:

Sql Server Error Messages : The transaction log for database ‘tempdb’ is full due to ‘ACTIVE_TRANSACTION’

最新文章

  1. mysql数据库中如何修改已建好的表中的【列名】【列的属性】
  2. C++-new操作符
  3. for循环内 执行$ajax(){}
  4. 使用powerdesigner 画图的详细说明
  5. Core Bluetooth【官方文档翻译】【02】
  6. 存储管理(一):openfiler介绍及存储理解
  7. testlink于smarty配置和使用
  8. .NET Core log4net 使用
  9. struts2.1.6教程九、文件上传下载(了解)
  10. useradd 命令详解
  11. c语言利用读取命令行(多行读取)
  12. VS.NET C# 开发ArcGis插件无法进入断点调试的解决方法
  13. 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
  14. Navicat系列产品激活教程
  15. 解题:NOI 2012 骑行川藏
  16. git——添加远程库
  17. Mac安装和卸载HomeBrew
  18. csu 1549: Navigition Problem(几何,模拟)
  19. 一款不错的jQuery分页插件--pagination
  20. Python拼接字符串的7种方法

热门文章

  1. Markdown随笔
  2. 206--Reverse A Singly Linked List
  3. Django框架(十四)-- forms组件、局部钩子、全局钩子
  4. 数据分析——python基础
  5. 接口测试:postman
  6. git常用命令(测试必备)
  7. css字体名称中英文对照表
  8. Java 数组ArrayList语法
  9. ZROI 暑期高端峰会 A班 Day5 杂题选讲
  10. 【BigData】Java基础_方法的定义与使用