Du kan prova en lösning. Kort sagt:
- Skapa en dummy DB med samma namn (kan behöva ta bort den riktiga DB först, spara originalfilerna eller byta namn sedan).
- Ta bort dummyn offline (koppla bort och (ställ offline eller stoppa SQL-tjänsten)).
- Ta bort dummy-filer, ersätt sedan med de riktiga DB-filerna.
- Försök att bifoga DB igen
Redigera
Som i OP-kommentaren kan du också behöva bygga om loggen (om du förlorade transaktioner)
-
ÄNDRA DATABAS [MyDatabase] ÅTERBYGGA LOGGA PÅ (NAME=’MyDatabaseLog’,FILENAME=’D:\Microsoft SQL Server\YourDataPath\Data\Logfile.ldf’)
och placera DB i loggen för flera användare (om du tar bort DB kan du behöva sätta den i engångsläge)
-
ALTER DATABASE [nomdb] STÄLL IN MULTI_USER
För alla detaljer kan du hänvisa till Paul Randal-artikel
(Notera i den här artikeln att författaren använder NÖDLÄGE för att (försöka) reparera transaktionsloggen)
Jag har redan använt det med framgång men beroende på skadans omfattning eller andra detaljer kan det vara en omöjlig uppgift. Överväg att återställa en säkerhetskopia.
Observera att dessa stunts är bra i en utvecklingsserver men du behöver verkligen planera (och borra) för katastrofåterställning i en produktionsserver.