Můžete zkusit řešení. Zkrátka:
- Vytvořte fiktivní DB se stejným názvem (možná bude nutné nejprve odstranit skutečnou DB, uložit původní soubory nebo přejmenovat).
- Odpojit figurínu (odpojit a (přepnout do režimu offline nebo zastavit službu SQL)).
- Smažte fiktivní soubory a nahraďte je skutečnými soubory DB.
- Zkuste znovu připojit de DB
Upravit
Jak je uvedeno v poznámce OP, můžete také potřebovat znovu sestavit protokol (pokud jste ztratili transakce)
-
ALTER DATABASE [MyDatabase ] REBUILD LOG ON (NAME=’MyDatabaseLog’,FILENAME=’D:\Microsoft SQL Server\YourDataPath\Data\Logfile.ldf’)
a vložte DB do protokolu pro více uživatelů (odstranění DB může vyžadovat, abyste ji uvedli do režimu jednoho použití)
-
ALTER DATABASE [nomdb] SET MULTI_USER
Všechny podrobnosti o gore najdete na Článek Paula Randala
(Poznámka v tomto článku autor používá NOUZOVÝ REŽIM k (pokusu) opravit protokol transakcí)
Už jsem to úspěšně použil, ale v závislosti na rozsahu poškození nebo jiných detailech to může být nemožný úkol. Zvažte obnovení zálohy.
Všimněte si, že tyto kaskadérské kousky jsou dobré na vývojovém serveru, ale opravdu potřebujete plánovat (a vrtat) obnovu po havárii na produkčním serveru.