Encountered an issue today where a site collection was backed up using the Backup-SPSite command in PowerShell. Midway, the backup had to be cancelled. Everything seemed to work fine for about 10 mins then it exploded, the entire site became read-only.
Checking the database status in Central Administration, the Read-only flag was turned off.
However, when I went to Central Administration -> Application Management -> Site Collection Quotas and Locks and selected the site collection, I noticed that it was set to read-only under Site Lock Information.
Under Site Collection Quotas and locks, set the database back to Not locked and save your settings.
You can also run the following command in powershell to set this attribute:
stsadm -o setsitelock -url http://server_name -lock none
Be careful when using the backup-spsite command as it locks the site collection automatically before running the backup. The site collection is only unlocked after the backup is complete. This could result in significant downtime if run during production hours. You can get around this by adding the -nositelock parameter to the command but this may affect the data integrity of your backup