SQL-Server: Ошибка — не удалось получить монопольный доступ, поскольку база данных уже используется.
Я предполагаю, что если вы восстанавливаете базу данных, вас не волнуют какие-либо существующие транзакции в этой базе данных. Верно? Если это так, это должно сработать для вас:
А теперь еще об одном пункте, о котором нужно знать. После того, как вы установите базу данных в однопользовательский режим, кто-то другой может попытаться подключиться к базе данных. В случае успеха вы не сможете продолжить восстановление. Это гонка! Я предлагаю запустить все три оператора одновременно.
Установка БД в однопользовательский режим не сработала для меня, но перевод ее в автономный режим, а затем возврат в оперативный режим действительно сработал. Он находится в контекстном меню базы данных, в разделе «Задачи».
Обязательно установите флажок «Отменить все активные подключения» в диалоговом окне.
У меня возникла эта проблема при попытке восстановить базу данных на MS SQL Server 2012.
Вот что сработало для меня :
Мне пришлось сначала запустить команду RESTORE FILELISTONLY ниже для файла резервной копии, чтобы вывести логические имена файлов:
Это отобразит логическое имя и соответствующее физическое имя файлов данных и журнала для базы данных соответственно:
Все, что мне нужно было сделать, это просто заменить логическое имя и соответствующее физическое имя файлов данных и журнала для базы данных соответственно в моем сценарии восстановления базы данных:
И задача восстановления базы данных успешно выполнилась:
Надеюсь, это поможет
- Задайте путь для восстановления файла.
- Нажмите «Параметры» слева.
- Снимите флажок «Сделать резервную копию журнала перед восстановлением»
- Установите флажок — «Закрыть существующие подключения к целевой базе данных».
- Щелкните ОК.
Выполните этот запрос перед восстановлением базы данных:
И этот после восстановления:
Для меня решение:
Установите флажок Перезаписать существующую базу данных (ЗАМЕНИТЬ) на вкладке параметров слева.
Снимите все флажки со всех остальных опций.
Выберите исходную и целевую базы данных.
Используйте следующий сценарий, чтобы найти и закрыть все открытые подключения к базе данных перед восстановлением базы данных.
Надеюсь, это поможет .
Я думаю, вам просто нужно установить базу данных в однопользовательский режим, прежде чем пытаться восстановить, как показано ниже, просто убедитесь, что вы используете master
Я просто перезапустил службу sqlexpress, а затем восстановление завершилось нормально
Перевод исходной базы данных в автономный режим работал для меня
Решение 1. Перезапустите службы SQL и попытайтесь восстановить БД. Решение 2. Перезапустите систему / сервер и попытайтесь восстановить БД. Решение 3. Верните текущую БД, удалите текущую / целевую БД и попытайтесь восстановить БД.
Вот способ восстановления базы данных от производства к разработке:
ПРИМЕЧАНИЕ. Я делаю это с помощью задания SSAS, чтобы ежедневно запускать производственную базу данных в разработку:
Шаг 1. Удалите резервную копию предыдущего дня, находящуюся в разработке:
Шаг 2: Скопируйте производственную базу данных в разработку:
Шаг 3. Восстановите, запустив скрипт .sql.
Код, который находится в файле AE11_Restore.sql:
Я получил эту ошибку, когда на диске не хватало места для восстановления Db. Очистка места решила эту проблему.
Я получил эту ошибку, когда без моего ведома кто-то был подключен к базе данных в другом сеансе SSMS. После того, как я их выписал, восстановление завершилось успешно.
Перевод БД Microsoft в Single-user Mode
В некоторых случаях требуется перевод БД SQL сервер в монопольный режим доступа (однопользовательский режим базы данных, Single-user Mode) это требуется в случаях выполнения операций, внесения изменений в БД или операций восстановления из резервной копии.
Так, например, при попытке восстановить рабочую БД, из резервной копии появится сообщение:
Exclusive access could not be obtained because the database is in use.
Чтобы исправить данное сообщение об ошибке, рекомендуется закрыть все приложения работающие с данной БД, а также вкладки SQL Management Studio, после этого выполнить команду:
где, AdventureWork — это имя базы данных.
Это откатит все текущие транзакции и переведет базу данных в режим работы Single-user Mode. После этого, если в этом же окне запустить операцию восстановления из резервной копии, то ошибка: «Exclusive access. » не повторится.
Для перевода режима работы БД в нормальный многопользовательский режим работы, необходимо выполнить команду:
Ошибка — не удалось получить монопольный доступ, поскольку база данных уже используется.
Я предполагаю, что если вы восстанавливаете базу данных, вам не нужны никакие существующие транзакции в этой базе данных. Правильно? Если да, то это должно сработать для вас:
Теперь нужно знать еще об одном пункте. После того, как вы установите базу данных в однопользовательский режим, кто-то другой может попытаться подключиться к базе данных. В случае успеха вы не сможете продолжить восстановление. Это гонка! Я предлагаю запустить все три оператора одновременно.
|
|||
Batyabest
16.12.14 — 09:10 |
Здравствуйте. После обновления конфигурации у пользователей при входе вылезает сначала сообщение о легальности полученного обновления. Жмем внизу — получено легально, ОК. А дальше вылезает сообщение: Не удалось установить монопольный режим. Работа системы будет завершена. А дальше завершить или нет. Что нужно сделать чтобы это, пугающее простых бухгалтеров сообщение о монопольном режиме не вылезало, а сразу запускалась 1С? |
||
roman844
1 — 16.12.14 — 09:17 |
У пользователя полные права? |
||
Godofsin
2 — 16.12.14 — 09:18 |
Запуститься одному и выполнить обновление |
||
roman844
3 — 16.12.14 — 09:19 |
(2) точно, судя по всему обработка после обновления не выполнялась. ТС, зайди один с полными правами. |
||
Batyabest
4 — 16.12.14 — 09:19 |
Да, права полные. Так эта беда появилась именно полсе обновления. Может нужно всех выгнать, запуститься одному, провести индексацию? или не так? |
||
Batyabest
5 — 16.12.14 — 09:20 |
Если сейчас всем выйти, зайти одному, дальше уже все смогут заходить? |
||
Масянька
6 — 16.12.14 — 09:21 |
(4) Может нужно всех выгнать, запуститься одному — есесьно. (5) Смотря, как процесс пойдет… |
||
Batyabest
7 — 16.12.14 — 09:21 |
(3) Что подразумевает под собой обработка после обновления? |
||
Godofsin
8 — 16.12.14 — 09:32 |
(7) Просто сделай (2) и все |
||
Godofsin
9 — 16.12.14 — 09:32 |
Под полными правами |
||
Масянька
10 — 16.12.14 — 09:36 |
(7) Рекомендую: http://www.youtube.com/watch?v=4L3XnVw77VM |
||
Batyabest
11 — 16.12.14 — 09:49 |
(10) Спасибо. А есть что-то подобно про обновление платформы? |
||
Vladal 12 — 16.12.14 — 10:33 |
(11) Обновить платформу — это просто установить программу. Как и любую другую. |
-
#1
Здравствуйте! Как восстановить БД SQL server из bak файла? Пишет что не удается восстановить так как БД не в монопольном режиме..
— -Подумал и добавил — —
При восстановлении базы вот такая ошибка:
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————Ошибка восстановления базы данных «MGMT_DB». (Microsoft.SqlServer.Management.RelationalEngineTa sks)
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:System.Data.SqlClient.SqlError: Не удалось получить монопольный доступ, так как база данных используется. (Microsoft.SqlServer.SmoExtended)
Последнее редактирование модератором: 28.02.2019