2 sql-server-2008 sql-server transaction-log
当前数据库将近 200GB,但是事务日志文件只有 4.1GB。我担心这是否会影响数据库的性能以及如何解决。
当我做这个查询时
DECLARE @DatabaseName VARCHAR(50) ;
SET @DatabaseName = 'dbname'
SELECT name ,
recovery_model_desc ,
log_reuse_wait_desc
FROM sys.databases
WHERE name = @DatabaseName
Show Recovery Model = Simple, Log Reuse Wait = Nothing.
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么日志文件这么小,这会影响性能吗?
事务日志的文件大小与数据文件的大小没有任何关系,因此您提出的问题实际上是解决性能问题的非初学者。
事务日志存储发生在数据库上的物理操作。由于数据库处于SIMPLE恢复状态,日志只保留操作直到CHECKPOINT发生——此时,不再需要的事务日志在内部被清除并可以重新使用。除非活动事务占用比物理可用空间更多的空间,否则不需要更改物理文件大小。(是的,我在这一段中稍微简化了一些。)
这就是说,你的事务日志可能,如果有太多的VLF,可能从小型自动增长增量的结果,从性能问题的影响-见我的答案在这里的有关事务日志如何根据这一内部工作位的信息。它还取决于此数据库的工作负载(许多小事务,或很少的大事务)。