Довелось мне тут в очередной раз ковырять упавшую базу mssql, событие надо сказать не рядовое, но возможное.
Для начала если у вас mssql express необходимо поставить mssql management studio, чтобы иметь представление о состоянии бд вообще.
Порядок действий:
Необходимо перевести базу данных в режим EMERGENCY:
EXEC sp_resetstatus 'yourDBname'; ALTER DATABASE yourDBname SET EMERGENCY
Выполнять тестирование базы:
DBCC checkdb('yourDBname')
--переводим базу в однопользовательский режим
ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
--восстанавливаем с потерей данных, или пытаемся сначала rebuild сделать
DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)
--возвращаем доступ к базе
ALTER DATABASE yourDBname SET MULTI_USER