Есть несколько причин, по которым вы получаете эту ошибку.
Прежде всего, ошибка возникает, если у вас есть файловая группа с поврежденным или отсутствующим файлом данных, поэтому вы можете сначала проверить это.
Вы можете проверить в столбце sys.databases state_desc. Если это означает RECOVERY_PENDING, вам нужно перевести файл, который отсутствует (или поврежден), в автономное состояние, прежде чем вы сможете подключить свою базу данных к работе и работать.
ALTER DATABASE userDB MODIFY FILE (NAME=’damagedFile’, OFFLINE)
и затем поместите базу данных в оперативный режим:
ALTER DATABASE userDB SET ONLINE
и оно должно работать, но без поврежденного вами файла.
Если у вас есть резервная копия, вы можете восстановить поврежденный файл оттуда.