【发布时间】:2020-07-11 13:49:41
【问题描述】:
我不得不运行一个删除命令,该命令删除了近 400 万条记录。删除时注意到 tempdb 数据文件的增长与表大小一样多,并且会填满驱动器。
我的问题是:
- 由于我正在运行单个删除命令导致 tempdb 增长?
- 连接关闭时,tempdb 占用的空间会自动清空吗?
- 有什么办法可以避免这种情况?
【问题讨论】:
-
您使用的是哪个数据库?一旦你使
COMMIT临时数据应该被删除。 -
避免的一种方法是在新表中插入要保留的行,截断当前表并重新插入到原始表中。
-
SQL 服务器 2014
-
感谢您的所有回复,他们真的很有帮助。我看起来我发现了问题。数据库设置为 READ COMMITTED SNAPSHOT ISOLATION ,这导致 tempdb 保存要修改的数据副本。所以我用 where 条件将单个命令拆分为多个,
标签: sql sql-server sql-server-2014