There are several site collections under a single app and unfortunately they are all in same database. And we dont have database backup that old that we need. Anyway we have automated backup-spfarm files but we want to restore only a single site collection. How can we do that? Restore-spfarm seems can not restore single site collection.
Yup, you can't restore a single site collection from farm backup.
You have to restore farm backup in different (test r qa ) farm.
Now Backup Required Site Collection From Here Using Backup-spsite
Now Restore That backup into your required environment using restore-spsite
If the site collection is the only resident of its content database, then you should be able to target the content database with the -ITEM parameter for Restore-SPFarm.
Since you target an individual site collection lives in a content database with more than one site collection in it, you have to consider one of the following options:
Restore the farm backup content database to a different farm, then do a Backup-SPSite of the target site collection and restore that backup to your production farm.
Use SQL Server backups, restore the backup as a new database in your instance then join it to your farm as an unattached DB and do a granular restore from that unattached DB.