2012-06-02 48 views
0

从SQL Server数据库表中删除大量数据后,数据库大小增加。从表中删除后数据库大小变大

当我运行sp_spaceused它显示我2625.25 MB。在我从表中删除之前,它曾经是〜1800.00 MB。

即使我删除数据,它是否有任何特定的原因会持续增长?

+5

我不知道tsql,但它可能只是一个临时事务日志。 –

+0

这正是我删除临时文件后现在就可以的原因。谢谢! http://stackoverflow.com/questions/56628/how-do-you-clear-the-transaction-log-in-a-sql-server-2005-database –

+0

我使它成为一个社区wiki答案(没有重点给我;) –

回答

2

临时事务日志通常是大量删除后大小显着增加的原因。

它最终会自行消失,但如果您需要回收空间,您可能会删除这些文件。

2

我假设你正在使用SQL Server(sp_spaceused)。记录删除,所以你的日志文件已经增长。

参见如何截断日志SQL Server 2008 log will not truncate(取决于您的数据库和恢复模式),然后就可以运行

DBCC SHRINKFILE(N) 

收回失去的空间

编辑按@Aaron,截断也是一个记录操作。答案已更正。

+0

TRUNCATE也记录了。人们在哪里了解TRUNCATE未记录的这些神话? –

+0

@Aaron谢谢你指出这一点。我相信我知道我在哪里找到了这种误解 - SQL 2000和以前的命令'BACKUP LOG DB WITH TRUNCATE_ONLY'可能将我的(和其他的)突触与绕过日志记录的“截断”相关联。 – StuartLC

+0

[截断虽然明显少了日志](http://dba.stackexchange.com/a/7677/3690) –

相关问题