?MSSQL日志关不关?探究到底!

MSSQL日志关不关?探究到底!

尽人皆知,MSSQL的数据库日志是开发人员必要的调试工具之一,但是日志也是数据库性能的一大杀器。从现实使用的角度来看,MSSQL的数据库日志无庸置疑是非常重要的,关键在于正确使用日志,对MSSQL数据库,一直以来都有两个派别之争:应当开启数据库日志,或者关闭数据库日志?

实际上,MSSQL的数据库日志的开关主要是为了提供给用户一种方便的调试,能够记录和查询数据库在运行进程中所有的操作日志,方便用户侦察数据库崩溃缘由和异常等,如果关闭了日志,就没法通过日志来记录操作,这会致使用户调试无从下手。

但同时,MSSQL的数据库日志会消耗系统IO资源,这会下降数据库的性能,极大地给系统带来压力。解决方案是在使用日志的情况下,采取备份日志文件的方式,即定期对日志进行备份删除,以此来下降系统的IO负载,同时可以保持调试的灵活性。

另外,MSSQL的日志文件贮存了数据库的详细操作,包括表的新建和修改,数据的插入和删除等;如果日志文件被误删,那末这些操作就没法记录。所以,为了有效的记录操作日志,在正确应用MSSQL日志同时也要严格规范日志的管理,确保日志不被误删除。

T-SQL代码

— 使用T-SQL代码查询当前日志会不会已开启

SELECT name, recovery_model_desc

FROM sys.databases

WHERE name = ‘YouDatabaseName’

— 使用T-SQL代码更改日志状态

ALTER DATABASE YouDatabaseName SET RECOVERY SIMPLE

— 将上面的代码更改成 SIMPLE 模式将会逐渐释放日志资源,直至日志被利用终了,这样便可保证系统的性能和调试的灵活性。

THE END