Как удалить восстановление базы данных


14

Я запускаю доставку журналов с SQL Server 2008 R2.

У меня возникла ситуация, когда на дополнительном диске базы данных не хватило места и не применялись журналы транзакций доставки журналов.

Я хочу исправить это, удалив базы данных на вторичном сервере и настроив доставку журналов с нуля.

У меня сейчас проблема в том, что мои вторичные базы данных находятся в состоянии восстановления, и я не могу их удалить. Как я могу продолжить?

Например, если я пытаюсь перевести их в автономный режим, я получаю сообщение об ошибке,

ALTER DATABASE is not permitted while the database is in the Restoring state.

Вы не можете выполнить команду изменения в восстанавливающей базе данных, вам нужно будет сделать сброс.
Джейсон Камберленд

Ответы:


25
RESTORE DATABASE dbname 
FROM DISK = 'dbname .bak'
WITH REPLACE, RECOVERY --force restore 

или просто

RESTORE DATABASE dbname WITH RECOVERY

REPLACEперезаписать существующую базу данных, сделать это только если вы уверены , что хотите заменить существующую базу данных , как вы упомянули , что вы не заботитесь , чтобы удалить его

RESTORE WITH RECOVERY - это поведение по умолчанию, при котором база данных остается готовой к использованию путем отката незафиксированных транзакций. Дополнительные журналы транзакций не могут быть восстановлены.

Это должно привести базу данных в онлайн. Затем вы можете удалить его и попробовать еще раз.


Я считаю, что то, что вы говорите, должно было сработать. Мое решение, хотя было перезапустить службу sql, а затем удаление баз данных работало после этого.
Питер

true, пока служба отключена, при удалении журналов транзакций всегда будет создаваться новый. всего наилучшего
AmmarR

3

Лучший способ, как я сделал с этой проблемой, это написать эту команду «drop database [имя базы данных]», а затем создать новую с тем же именем, а затем восстановить базу данных из другого файла .bak, потому что файл .bak поврежден или неисправен.


В вопросе о поврежденных резервных копиях нет упоминаний.
ypercubeᵀᴹ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.