Я использую SQL Server 2008 R2, мне нужно восстановить базу данных из файла .bak. Всегда есть ошибка, что база данных используется до тех пор, пока я не перезапущу службу SQL Server.
Есть ли лучший способ сделать это?
Я использую SQL Server 2008 R2, мне нужно восстановить базу данных из файла .bak. Всегда есть ошибка, что база данных используется до тех пор, пока я не перезапущу службу SQL Server.
Есть ли лучший способ сделать это?
Используйте этот код для уничтожения всех существующих подключений до восстановления:
USE master;
GO
ALTER DATABASE YourDB
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
ALTER DATABASE YourDB
SET MULTI_USER;
GO
Выберите резервный файл для восстановления и перейдите к параметрам, чтобы выбрать "Закрыть существующие подключения к базе данных назначения" и нажмите "ОК"
Перезапуск службы SQL решает мои проблемы.
USe мониторинг активности и фильтра в базе данных, которую вы хотите восстановить. Затем проконсультируйтесь с пользователем, который его использует, и убедитесь, что это нормально для создания базы данных. Затем запустите следующий запрос.
USE Master
KILL <session_id from activity monitor>
Если все еще не решить, попробуйте выполнить следующие
Restore database YOUR_DB_NAME with recovery
Надеюсь, что это поможет
Проблема в том, что ваша база данных в настоящее время используется другими и, вероятно, имеет открытые соединения. Вам нужно будет закрыть все существующие подключения к нему, а затем восстановить резервную копию.
Вот ссылка, показывающая, как убивать активные соединения: http://wiki.lessthandot.com/index.php/Kill_All_Active_Connections_To_A_Database
попробуйте восстановить с помощью SQL
RESTORE DATABASE my_new_database FROM disk = 'E:\path\name.bak'
Иногда у меня были эти проблемы с пользовательским интерфейсом, но отлично работал с оператором SQL. вам нужно убить весь открытый процесс перед восстановлением, иногда процесс не может закрыться из-за некоторых проблем с вашими установками Windows или SQL.