• kevaburg (3/20/2013)


    If your transaction logs are getting big even in SIMPLE Recovery Mode, could it possibly be that you have a great deal of DML occuring without commits? INSERTs, UPDATEs and DELETEs for example. If so then performing commits after a certain amount of DML activity could help.

    Only if they're starting explicit transactions and never committing. SQL by default is in autocommit mode, meaning every operation is in its own transaction that commits automatically when the statement completes.

    Because even in this model it is still possible to rollback uncommitted transactions and these transaction are stored in the transaction log until the commit occurs. Once they are committed they are no longer in the log.

    Not quite.

    Log entries are marked inactive by the checkpoint process in simple recovery model once all the log records in a particular virtual log file are not needed for anything, where anything includes active transaction, replication, database backup, database recovery and maybe a couple other things. It is not the commit that marks the log records as inactive.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass