There's a lot here. I'm not sure I am 100% clear about what you are looking for. I will take stab at what I think I understand you are looking for.
As suggested I looked up the backupset tables and I think we can still
come up with schedules and timings for all databases and their respective
kind of backups if we can use most recent sample data (last 30 days)
The backupset table is not a schedule. A schedule implies what is supposed to occur, backupset lists what actually occurred. I've attached a script that I give to the junior DBA's that lists the backups by type for each database.
And where can I find the information regarding which tool is doing backups
- sql or 3rd party.Is it available in the msdb backupset tables.I read a blog
which says even if a 3rd party does backups sometimes the msdb tables
can still carry sqlserver to be the one doing backups.
Sorry. This may sound nasty, but if a third party application is doing backups, someone in your organization should know about it. There is likely an agent or service that is running on your servers that you can look for. A typical third party setup would be a centralized backup management server, and agents on each individual server. I suggest you track that down and find it. It greatly concerns me that you are guessing about something as critical as backups.
And also I have to do this for all databases on the server to
find out full/diff/tlog job schedules
Like a said above, the tool being used to take backups will give you the schedule. A backup may be scheduled to run at midnight, but the actual backup of a database may not occur until much later.