Помилка відновлення SQL з повідомленням "База даних вже відкрита і може мати лише одного користувача одночасно"

Summary: Стаття в базі знань (КБ), яка надає рішення помилки відновлення бази даних SQL під час доступу користувачів до бази даних.

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Не вдається відновити базу даних SQL до вихідного розташування з помилками, подібними до наступного відображення:
 

avsql Error <40258>: sqlconnectimpl_smo::get_database_data_names Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: Database 'Avamar1' is already open and can only have one user at a time.



 

Cause

Один або кілька користувачів або підключень отримують доступ до бази даних, яка відновлюється. Вихідну базу даних не можна перезаписати, якщо до бази даних мають доступ користувачі або підключення.

Resolution

Змініть статус бази даних з Багатокористувацького на Однокористувацький режим.

Використання SQL Server Management Studio

Щоб перевести базу даних в однокористувацький режим:

  1. У Провіднику об'єктів підключіться до екземпляра обробника баз даних SQL Server, а потім розгорніть цей екземпляр.

  2. Клацніть правою кнопкою миші базу даних, яку потрібно змінити, і виберіть пункт Властивості.

  3. У діалоговому вікні «Властивості бази даних» відкрийте сторінку «Параметри».

  4. З опції «Обмежити доступ» виберіть «Одиночний».

  5. Якщо до бази даних підключено інших користувачів, з'являється повідомлення «Відкриті підключення». Щоб змінити властивість і закрити всі інші підключення, натисніть кнопку Так.

 

Використання Transact-SQL

Щоб перевести базу даних в однокористувацький режим:

  1. Підключіться до движка баз даних.

  2. На панелі Стандартна виберіть пункт Новий запит.

  3. Скопіюйте та вставте наступний приклад у вікно запиту та натисніть кнопку «Виконати». Цей приклад встановлює для бази даних значення SINGLE_USER для отримання ексклюзивного доступу. Потім у прикладі стан бази даних Avamar1 встановлюється як READ_ONLY і повертає доступ до бази даних всім користувачам. Опція розірвання WITH ROLLBACK IMMEDIATE зазначена в першому ALTER DATABASE заява. Це призводить до того, що всі незавершені транзакції відкочуються, а будь-які інші з'єднання з базою даних Avamar1 негайно відключаються.

 

SQLCopy

USE master; GO ALTER DATABASE Avamar1 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE Avamar1 SET READ_ONLY; GO ALTER DATABASE Avamar1 SET MULTI_USER; GO

 


Посилання:  

https://docs.microsoft.com/en-us/sql/relational-databases/databases/set-a-database-to-single-user-mode?view=sql-server-2017Як тільки це буде зроблено, повторіть спробу відновлення бази даних SQL у вихідному місці.

Affected Products

Avamar

Products

Avamar, Avamar Plug-in for SQL
Article Properties
Article Number: 000038587
Article Type: Solution
Last Modified: 11 Dec 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.