为什么.MDF和.LDF文件增长到1GB +的数据库包含一个只有10行的表?
该数据库来自一个2MB的.bak文件,并没有进一步的数据被添加到它。
MDF可能已经创build为1 GB – 或者在某个时间点包含的行数比10行多得多。 当您从中移除数据时,MDF的大小通常不会缩小。 为了减小大小,几乎必须创build一个新的数据库,确保将其初始大小设置得较低,然后将该表中的数据复制到新的数据库中。
如果运行大量需要logging的SQL语句(例如插入,更新,删除和其他内容),LDF(事务日志文件)将会增长。 定期使用日志备份,可以保持事务日志文件的小型化,并且将数据库切换到简单恢复模式(而不是Full)也将有很大的帮助。
单列单列可以有2Gb。
但是,即使桌子确实很小,现在的大小并不代表过去的历史。 在一亿个行被删除之后,一个表可以有10行。 日志将保留所有活动,直到备份。 数据库在增长之后不会萎缩,也不应该被迫在特殊的情况下。
你在数据库中存储BLOB吗? Blob(二进制大对象)比其他事情更耗费内存。
正如很多人所说,即使你在数据库中只存储了很less的数据,也有很多原因可以使你的物理文件增长。
如果你需要和/或想要,你可以把它们缩小到最小的需要。 首先进行数据库日志备份(这将收缩事务日志),然后使用DBCC SHRINKDATABASE命令(或Management Studio中的等效GUI操作)。
不回答你的问题,但如果你可以重复恢复,你可以使用Profiler来“监视”什么进程触及有问题的数据库。