Restore SQL non riuscito con il messaggio "Il database è già aperto e può avere un solo utente alla volta"

Summary: Articolo della Knowledge Base (KB) che fornisce una soluzione agli errori di restore del database SQL quando gli utenti accedono al database.

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

Il ripristino del database SQL nella posizione originale non riesce con errori simili al seguente display:
 

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

Uno o più utenti o connessioni accedono al database in cui viene eseguito il ripristino. Il database originale non può essere sovrascritto se vi sono utenti o connessioni che accedono al database.

Resolution

Modificare lo stato del database dalla modalità multiutente alla modalità utente singolo.

Utilizzo di SQL Server Management Studio

Per impostare un database in modalità utente singolo:

  1. In Esplora oggetti, connettersi a un'istanza del Motore di database di SQL Server, quindi espandere tale istanza.

  2. Fare clic con il pulsante destro del mouse sul database da modificare, quindi scegliere Proprietà.

  3. Nella finestra di dialogo Database Properties, cliccare sulla pagina Options.

  4. Dall'opzione Restrict Access selezionare Single.

  5. Se altri utenti sono connessi al database, viene visualizzato il messaggio Open Connections. Per modificare la proprietà e chiudere tutte le altre connessioni, cliccare su Yes.

 

Utilizzo di Transact-SQL

Per impostare un database in modalità utente singolo:

  1. Connettersi al Motore di database.

  2. Dalla barra Standard, cliccare su New Query.

  3. Copiare e incollare l'esempio seguente nella finestra della query e cliccare sul pulsante "Execute". In questo esempio il database viene impostato su SINGLE_USER per ottenere l'accesso esclusivo. Nell'esempio viene quindi impostato lo stato del database Avamar1 su READ_ONLY e restituisce l'accesso al database a tutti gli utenti. L'opzione di terminazione WITH ROLLBACK IMMEDIATE è specificato nel primo ALTER DATABASE affermazione. Ciò comporta il rollback di tutte le transazioni incomplete e la disconnessione immediata di tutte le altre connessioni al 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

 


Riferimento:  

https://docs.microsoft.com/en-us/sql/relational-databases/databases/set-a-database-to-single-user-mode?view=sql-server-2017Al termine, riprovare a eseguire il ripristino del database SQL nella posizione originale.

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.