sha*_*mim 8 sql-server-2008 sql-server tempdb dbcc-checkdb
DBCC CHECKDB 返回:
无法为数据库 'tempdb' 中的对象 'dbo.SORT 临时运行存储:140737951236096' 分配空间,因为 'PRIMARY' 文件组已满。
通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。
消息 9002,级别 17,状态 4,第 1 行
这是不言自明的 - 您的 tempdb 已满,并且无法增长以执行它需要 tempdb 的操作。
如上所述,要么它所在的磁盘已满,要么您没有合适的自动增长设置(有关此信息,请参阅这篇较早的帖子),如果不是自动增长,则必须从磁盘中删除其他文件您的 tempdb 已打开,或在更大的磁盘上找到您的 tempdb。
这篇 sqlservercentral 帖子与您的类似,可能值得一看。Brent Ozar 的这个视频也值得一看,涵盖了 tempdb 性能和配置。
小智 6
运行以下命令以获取检查所需的估计tempdb 空间:
DBCC CHECKDB ('databasename') WITH ESTIMATEONLY
Run Code Online (Sandbox Code Playgroud)
查看DBCC CHECKDB文档
ESTIMATEONLY
显示使用所有其他指定选项运行 DBCC CHECKDB 所需的估计 tempdb 空间量。不执行实际的数据库检查。