无法为数据库 'tempdb' 中的对象分配空间,因为 'PRIMARY' 文件组已满

本文介绍了当遇到SQL Server中tempdb数据库空间不足错误时的解决办法,包括检查错误原因、调整tempdb的大小和自动增长设置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误描述

消息 1105,级别 17,状态 2,第 1 行
无法为数据库 'tempdb' 中的对象 'dbo.SORT temporary run storage:  140737503494144' 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。
消息 9002,级别 17,状态 4,第 1 行
数据库 'tempdb' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

解决方法

查看tempdb当前大小
exec sp_helpdb tempdb
对tempdb进行收缩
use tempdb 
go 
dbcc shrinkfile(tempdev, 1024) 
use tempdb 
go 
dbcc shrinkfile(templog, 512) 

尝试将tempdb的文件初始值设置:
数据文件:10G
日志文件: 10G
自动增长的10%设置为10M

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值