How can I find the space used by a SQL Transaction Log?

25,869

Solution 1

Found the answer just after I submitted the question :)

It looks like dbcc sqlperf(logspace) and dbcc loginfo are my friend.

http://www.mssqltips.com/tip.asp?tip=1225

Solution 2

create table #dbsize 
(Dbname varchar(30),dbstatus varchar(20),Recovery_Model varchar(10) default ('NA'), file_Size_MB decimal(20,2)default (0),Space_Used_MB decimal(20,2)default (0),Free_Space_MB decimal(20,2) default (0)) 
go 

insert into #dbsize(Dbname,dbstatus,Recovery_Model,file_Size_MB,Space_Used_MB,Free_Space_MB) 
exec sp_msforeachdb 
'use [?]; 
  select DB_NAME() AS DbName, 
    CONVERT(varchar(20),DatabasePropertyEx(''?'',''Status'')) ,  
    CONVERT(varchar(20),DatabasePropertyEx(''?'',''Recovery'')),  
sum(size)/128.0 AS File_Size_MB, 
sum(CAST(FILEPROPERTY(name, ''SpaceUsed'') AS INT))/128.0 as Space_Used_MB, 
SUM( size)/128.0 - sum(CAST(FILEPROPERTY(name,''SpaceUsed'') AS INT))/128.0 AS Free_Space_MB  
from sys.database_files  where type=0 group by type' 





go 
select * from #dbsize 

Solution 3

Another way - perform in MS SQL Management Studio the following command:

  • Right click on the database
  • Tasks
  • Shrink
  • Files

and select File Type = Log you will not only see the file size and % of available free space.

Share:
25,869

Related videos on Youtube

Sean Earp
Author by

Sean Earp

I'm a geek that has been in the IT industry for 12 years. My passions are around security and everything Microsoft related (especially SharePoint!). I work for Microsoft, although my posts and thoughts are my own.

Updated on September 17, 2022

Comments

  • Sean Earp
    Sean Earp almost 2 years

    The SQL Server sp_spaceused stored procedure is useful for finding out a database size, unallocated space, etc. However (as far as I can tell), it does not report that information for the transaction log (and looking at database properties within SQL Server Management Studio also does not provide that information for transaction logs).

    While I can easily find the physical space used by a transaction log by looking at the .ldf file, how can I find out how much of the log file is used and how much is unused?

  • Paul Randal
    Paul Randal about 15 years
    This is definitely the best way, and would have been my answer.
  • Jason Clark
    Jason Clark about 8 years
    Found another helpful post see here: sqlservercentral.com/blogs/zoras-sql-tips/2016/01/15/…