首页 > 解决方案 > SQL Server 收缩文件因 tempdb 充满活动事务而失败

问题描述

我在 Mac 上的 Docker/Linux 下运行 SQL Server。我有一个 60Gb 的数据库,其中删除了大约 30Gb 的数据。然后我尝试使用以下方法缩小文件:

dbcc shrinkfile('my_database')

但是,这失败并显示一条消息

由于活动事务,tempdb 已满

我已经检查了 tempdb 事务日志的大小

DBCC SQLPERF('logspace')

它是 8Mb。然后我检查了 tempdb 文件的设置,以防它们被配置为最大大小,使用

select * from sys.database_files

这显示了四个“ROWS”文件和事务日志。所有五个都显示为最大大小 = -1,即无限,增长 8192。

我有大约 35Gb 的可用磁盘空间。

我看不出这里有什么问题。我怎样才能缩小这个数据库?

标签: sql-server

解决方案


推荐阅读