Obnovení SQL selhává s chybou "Databáze je již otevřená a může mít vždy pouze jednoho uživatele"

Summary: Článek znalostní báze (KB), který poskytuje řešení selhání obnovení databáze SQL, když uživatelé přistupují k databázi.

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

Obnovení databáze SQL do původního umístění selhává s chybami podobnými následujícímu zobrazení:
 

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

Jeden nebo více uživatelů nebo připojení přistupuje k databázi, do které se obnovuje. Původní databázi nelze přepsat, pokud k databázi přistupují uživatelé nebo připojení.

Resolution

Změňte stav databáze z režimu pro více uživatelů na režim pro jednoho uživatele.

Použití nástroje SQL Server Management Studio

Nastavení databáze do režimu pro jednoho uživatele:

  1. V Průzkumník objektů se připojte k instanci SQL Server databázového stroje a pak tuto instanci rozbalte.

  2. Klepněte pravým tlačítkem myši na databázi, kterou chcete změnit, a potom klepněte na příkaz Vlastnosti.

  3. V dialogovém okně Vlastnosti databáze klikněte na stránku Možnosti.

  4. V možnosti Omezit přístup vyberte Jeden.

  5. Pokud jsou k databázi připojeni další uživatelé, zobrazí se zpráva Otevřená připojení. Chcete-li změnit vlastnost a zavřít všechna ostatní připojení, klepněte na tlačítko Ano.

 

Použití jazyka Transact-SQL

Nastavení databáze do režimu pro jednoho uživatele:

  1. Připojte se k databázovému stroji.

  2. Na panelu Standard (Standard) klikněte na New Query (Nový dotaz).

  3. Zkopírujte a vložte následující příklad do okna dotazu a klikněte na tlačítko "Execute". Tento příklad nastaví databázi na SINGLE_USER režim pro získání výhradního přístupu. Příklad poté nastaví stav databáze Avamar1 na READ_ONLY a vrátí přístup k databázi všem uživatelům. Možnost ukončení WITH ROLLBACK IMMEDIATE je specifikován v prvním ALTER DATABASE výrok. To způsobí, že všechny nedokončené transakce budou vráceny zpět a všechna ostatní připojení k databázi Avamar1 budou okamžitě odpojena.

 

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

 


Odkazy:  

https://docs.microsoft.com/en-us/sql/relational-databases/databases/set-a-database-to-single-user-mode?view=sql-server-2017Až to uděláte, zkuste znovu obnovit databázi SQL do původního umístění.

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.