In this tip we will take a look at a SQL Server function that you can use to read the SQL Server transaction log to see what entries are made for database transactions.
If you are not managing the transaction log space used by a database, the transaction log might grow uncontrollably. With SQL Server 2017 there is a new dynamic management function (DMF) that exposes statistical information about a database transaction log. One of the things you can do with the information returned from this DMF is to determine how full a database transaction log file is.
One crucial aspect of all databases is the transaction log. The transaction log is used to write all transactions prior to committing the data to the data file. In some circumstances the transaction logs can get quite large and not knowing what is in the transaction log or how much space is being used can become a problem. So how to you determine how much of the transaction log is being used and what portions are being used?
The transaction log backup is stored in SQL Server proprietary format, just like the transaction log itself. Even though the transaction log backup is in a special format, Microsoft has provided us with the fn_dump_dblog() function to read transaction log backups. This function is undocumented, so you should use care when using this function in a production environment.
Manvendra Singh takes a look at a SQL Server function that you can use to read the transaction log to see what entries are made for database transactions.
I run this code on SQL Server 2019:
DBCC CLONEDATABASE(imdb, imdb_dev)I then change to the cloned database, imdb_dev, and run some queries. I then run this code while testing:
INSERT dbo.Title (TitleID, Title, DateReleased) VALUES (3234, 'Maestro', '2023') GOWhat happens? See possible answers