Korzystam z wysyłki dziennika z SQL Server 2008 R2.
Mam sytuację, w której na dodatkowym dysku bazy danych zabrakło miejsca i nie stosowałem dzienników transakcji wysyłania dzienników.
Chcę to naprawić, usuwając bazy danych na dodatkowym serwerze i konfigurując wysyłanie dziennika od zera.
Problem, który mam teraz, polega na tym, że moje pomocnicze bazy danych są w stanie przywracania i nie mogę ich usunąć. Jak mogę kontynuować?
Na przykład, jeśli spróbuję przełączyć je w tryb offline, pojawia się błąd,
ALTER DATABASE is not permitted while the database is in the Restoring state.
sql-server
log-shipping
Piotr
źródło
źródło
Odpowiedzi:
Lub tylko
REPLACE
zastąpienia istniejącej bazy danych, należy to zrobić tylko wtedy, gdy jesteś pewien, że chcesz nadpisać istniejącą bazę danych, jak wspomniano dont care, aby go usunąćPRZYWRACANIE Z ODZYSKIEM jest domyślnym zachowaniem, które pozostawia bazę danych gotową do użycia, wycofując niezatwierdzone transakcje. Nie można przywrócić dodatkowych dzienników transakcji.
To powinno doprowadzić bazę danych do trybu online. Następnie możesz go usunąć i spróbować ponownie.
źródło
Najlepszym sposobem, jak zrobiłem z tym problemem, jest napisanie tego polecenia „upuść bazę danych [nazwa bazy danych]”, a następnie utwórz nową o tej samej nazwie, a następnie przywróć bazę danych z innego pliku .bak, ponieważ plik .bak jest uszkodzony lub uszkodzony.
źródło