Состояние базы данных Restoring (Восстановление) в Microsoft SQL Server Management Studio означает, что база данных находится в процессе выполнения операции восстановления и не доступна для обычных подключений. Это часто происходит, когда при создании копии базы данных или выполнении бэкапа были выбраны специфические параметры, препятствующие завершению процесса.
Рассмотрим, почему это случается и как вернуть базу данных в работоспособное состояние, чтобы пользователи могли снова продолжить работу.
Ситуация чаще всего возникает при создании резервной копии или попытке сделать копию базы данных «на лету». Основными причинами являются:
Создать резервную копию заключительного фрагмента журнала (Tail-log backup) при восстановлении.1С:Предприятие или фоновых заданий), которые не позволяют SQL Server завершить цепочку транзакций.NORECOVERY, которая оставляет базу данных в режиме готовности к приему дополнительных файлов журнала транзакций.Если база «зависла» и нет необходимости применять дополнительные журналы транзакций, самым быстрым и правильным методом будет принудительное завершение процесса восстановления. Для этого воспользуйтесь редактором запросов в SQL Server Management Studio.
Выполните следующий запрос:
RESTORE DATABASE [ИмяВашейБазы] WITH RECOVERY;
GO
Важно: Если SQL Server сообщает об ошибке доступа, это означает, что база данных все еще используется каким-либо процессом. В этом случае необходимо сначала принудительно отключить всех пользователей и фоновые процессы:
ALTER DATABASE [ИмяВашейБазы] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [ИмяВашейБазы] WITH RECOVERY;
ALTER DATABASE [ИмяВашейБазы] SET MULTI_USER;
GO
После выполнения этих команд база должна перейти в режим Online.
Зачастую препятствием для смены режима базы данных выступает сервер 1С:Предприятие. Даже если в базе нет активных пользователей, фоновые задания и сеансы сервера 1С могут удерживать монопольное соединение.
1C:Enterprise Server Agent.1C:Enterprise Server Agent.Если стандартные SQL-команды не приносят результата, можно воспользоваться «физическим» методом пересоздания базы данных. Внимание: перед началом манипуляций обязательно сделайте копию файлов .mdf и .ldf!
SQL Server..mdf (данные) и .ldf (журнал) зависшей базы в надежное место.SQL Server.Данный метод позволяет «обмануть» SQL Server и заставить его подключить базу данных заново через процедуру Attach.
Чтобы избежать подобных ситуаций в будущем, примите к сведению следующие советы:
1C:Enterprise Server Agent, чтобы исключить блокировки со стороны регламентных заданий 1С.Применяя данные методы, вы сможете восстановить работоспособность вашей системы в кратчайшие сроки.