After monitoring the Transaction log files for a while I noticed that some of them sometimes behave in a way I did not expect.
Here are two samples for comparison. All data is based on EXEC('DBCC SQLPERF(LOGSPACE);')
Sample 1: This shows the development of a TL file over time. Orange is the physical file size of the log file. Blue is the ammount of data that is used. The total file size does not increase in the moment where about 26GB of it are used, because the file is empty and there is enough volume to place 26 GB of data inside of it without growing the file.
Sample 2: This other sample shows that the total file size of this TL file has increased at the moment space were required. About 10 Gb of data has been filled into this file, that has had 25 GB total file size. At the same time the file grew 10 GB.
I would have expected that the empty/unused file capacity of the transaction log files always are reused as long as the required ammount of data fits into this space.
So the question is: Why is the empty space allocated by the transaction log file not re-used in sample 2 and instead the file grew again?