Первый шаг должен генерировать rpmdb в chroot путем создания /var/lib/rpm
в нем и использование rpm --root /path/to/chroot --initdb
. После этого необходимо установить пакет $distro-release в нем с об/мин так, чтобы конфетка имела информацию о дистрибутиве, к repos которого это должно получить доступ. После того как Вы сделали это, можно использовать yum --installroot=/path/to/chroot
чтобы иметь его, управляют в этом chroot.
Сделайте резервную копию базы данных (остановите службу, скопируйте .mdf) и запустите этот сценарий. Строка REPAIR_ALLOW_DATA_LOSS потенциально может быть разрушительной.
Сценарий здесь для будущего ref:
EXEC sp_resetstatus [YourDatabase];
ALTER DATABASE [YourDatabase] SET EMERGENCY
DBCC checkdb([YourDatabase])
ALTER DATABASE [YourDatabase] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([YourDatabase], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [YourDatabase] SET MULTI_USER
Если это вас утешает, наш продукт использует репликацию слиянием, поэтому у нас есть тысячи портативных компьютеров, использующих SQL Express, и мы регулярно видим подозрительные базы данных. Выполнение именно этого сценария после резервного копирования баз данных устраняет проблему в 99% случаев без каких-либо побочных эффектов.
Что касается причины, трудно сказать, и вам, возможно, придется покопаться в журналах. Скорее всего, если это Экспресс, он будет ограничен тем, что включено для ведения журнала, но возможны следующие причины:
Все остальное не удается, восстановить резервные копии, если они существуют. Однако шаги, описанные выше , должны быстро помочь вам начать работу.