• I think I have an idea of how you got to where you are with these tlogs and vlfs. I have just been able to repro it with the following script.

    USE master;

    GO

    DROP DATABASE VLFtest

    GO

    CREATE DATABASE [VLFtest]

    CONTAINMENT = NONE

    ON PRIMARY

    ( NAME = N'VLFtest', FILENAME = N'G:\Database\Data\VLFtest.mdf' , SIZE = 4096KB , FILEGROWTH = 1024KB )

    LOG ON

    ( NAME = N'VLFtest_log', FILENAME = N'G:\Database\Log\VLFtest_log.ldf' , SIZE = 18000mb , FILEGROWTH = 1024mb)

    GO

    USE VLFtest;

    GO

    DBCC loginfo

    DBCC SHRINKFILE(2,EMPTYFILE)

    DBCC SHRINKFILE(2,2500)

    DBCC SHRINKFILE(2,2048)

    CHECKPOINT

    USE VLFtest;

    GO

    DBCC loginfo

    Obviously, paths etc would need to change.

    But from the looks of it, there is an automated database creation script that creates your databases with very large tlogs. That script then attempts to shrink the logs via the emptyfile and then the standard variants of shrinkfile (successive size shrinks).

    Once, that was done, I was down to a tlog with just 2 vlfs that were roughly the same size you had.

    From here, I am no longer able to shrink the tlog.

    I tried reproducing this with the model database hypothesis but I could not.

    Edit: I will post the code sample later. It is blocked from posting at the moment.

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events