SQL Server 删除 - 磁盘空间不足

SQL Server 删除 - 磁盘空间不足

我正在从 SQL Server 2008 中的一个表中删除 2.57 亿行。我无法截断它。不过我本可以做得更聪明一些。

删除 2 小时后,日志文件增大,磁盘空间不足。查询仍在运行。

该怎么办?删除会成功吗?

答案1

等待 tx 回滚,删除将不会成功。或者加载备份 - 可能会更快。

要么逐步删除(每次 10,000 个),要么确保您的服务器足以满足您的需求。所有这些都可以在那里完成。

答案2

与 2.57 亿条删除记录相比,您需要在表中保留多少条记录?如果该数字较小,则将这些记录批量插入到新表中,使用 ALTER TABLE SWITCH 切换表并删除旧表。

http://jahaines.blogspot.com/2009/12/sql-server-2005-how-to-move-10-millions.html

另一个有趣的想法是设置分区并删除旧的分区。

http://blogs.msdn.com/b/bartd/archive/2010/06/01/purging-data.aspx

相关内容