DBCC LOGINFO shows the extends not empty into your log file. Shrink commands will only work when you have NO entry on the log file extends marked as 2 (in the head of the file)....
If you want to knock down this 40GB ldf, then follow below steps:
Option 1 (saving the trn files)
1 - Take transaciotn log backups till your DBCC LOGINFO gets all extends with 0
2 - Run the shrink command as the extends are now free and the head of the ldf file is oka to be shrunk.
Option 2
1 - Run a backup with truncate_only to your database
2 - Shrink the log file
3 - run a full backup of your database otherwise All other backup log will fail!
Regards,
Marcos Rosa
Best Regards,
Marcos Rosa / marcosfac@gmail.com