什么是MS SQL Server数据库的日志文件?
简而言之,日志文件通过一个简化的格式记录了所有对数据库的修改操作,包括Insert, Update和Delete等能够帮助你重现对数据库内容修改的操作。日志文件的后缀名为*.LDF。
日志文件存储了所有的数据修改,所以在某些条件下,可以根据日志文件将数据库恢复到某个特定时间点的状态。
也就是说,日志文件是数据库为了增强数据安全或数据变动追溯的一个机制。
我曾遇到一客户实例:其数据库服务器因RAID磁盘出现坏道,导致存取异常,重启服务器后,数据库为Suspect状态而无法正常使用,最终得靠日志文件才复原了数据库——所以日志文件有其重要性。
所以,当我们系统重建检索点时,因为涉及到对大量已有的数据库纪录(包括目录、检索点等记录)进行删除和新增等操作,所以数据库在日志文件中记录的内容就多,就可能导致日志文件尺寸过大。
一般来说,把数据库底层的事交给数据库自己处理,我们的系统无须过多干预它。所以,原则上,日志文件庞大了,除了浪费硬盘空间外,它基本无害。
并且,日志文件也并非是无限增长的,因为SQL Server会按照一定的规则对它进行干预。
当然,如果你做了数据库备份,无须担心库受损后的恢复,那么,采用多种数据库认可的方式来减小日志文件尺寸以腾出硬盘空间,包括你所执行的收缩操作,都是允许的、无害的。