从SQL Server数据库表中删除大量数据后,数据库大小增加。从表中删除后数据库大小变大
当我运行sp_spaceused
它显示我2625.25 MB。在我从表中删除之前,它曾经是〜1800.00 MB。
即使我删除数据,它是否有任何特定的原因会持续增长?
从SQL Server数据库表中删除大量数据后,数据库大小增加。从表中删除后数据库大小变大
当我运行sp_spaceused
它显示我2625.25 MB。在我从表中删除之前,它曾经是〜1800.00 MB。
即使我删除数据,它是否有任何特定的原因会持续增长?
临时事务日志通常是大量删除后大小显着增加的原因。
它最终会自行消失,但如果您需要回收空间,您可能会删除这些文件。
我假设你正在使用SQL Server(sp_spaceused
)。记录删除,所以你的日志文件已经增长。
参见如何截断日志SQL Server 2008 log will not truncate(取决于您的数据库和恢复模式),然后就可以运行
DBCC SHRINKFILE(N)
收回失去的空间
编辑按@Aaron,截断也是一个记录操作。答案已更正。
TRUNCATE也记录了。人们在哪里了解TRUNCATE未记录的这些神话? –
@Aaron谢谢你指出这一点。我相信我知道我在哪里找到了这种误解 - SQL 2000和以前的命令'BACKUP LOG DB WITH TRUNCATE_ONLY'可能将我的(和其他的)突触与绕过日志记录的“截断”相关联。 – StuartLC
[截断虽然明显少了日志](http://dba.stackexchange.com/a/7677/3690) –
我不知道tsql,但它可能只是一个临时事务日志。 –
这正是我删除临时文件后现在就可以的原因。谢谢! http://stackoverflow.com/questions/56628/how-do-you-clear-the-transaction-log-in-a-sql-server-2005-database –
我使它成为一个社区wiki答案(没有重点给我;) –