What it looks like your database is doing is the recovery after restarting the service/recovering the database, this phase can take quite a while if you don't backup your transaction logs or if you have a open transaction in a heavy table.
We once had an issue which was the next one.
one transaction was left open for like 24 hours (by mistake, lord), the next days we have an automatic restore of one of the main databases, this restore took way longer in the recovery phase, why? because that open transaction never let the log backup clean up the ldf file so we basically had 24+ hours of transactions 90+GB of transactions in there and when you have to restore the recovery is gonna take ALOT of time, because it has to go through the analysis of all these transactions and commit and rollback the transactions one by one, this phase is called "Three phases of recovery : the analysis phase, the redo phase, and the undo phase".
So if you don't backup your log for quite a while, after the restore the database will have to go through the phases said earlier to put the database in a consistent state.
There might be different cases to this issue but so far, this is the only one i had.
I don't think you can do anything but wait till the recover ends.
in SQL Server 2019 & Azure this doesn't happen if you enable the new feature Accelerated database recovery.