Impostare un database in modalità utente singolo
Si applica a: SQL Server
Questo articolo illustra come impostare un databaseun backup definito dall'utente in modalità utente singolo usando SQL Server Management Studio o Transact-SQL. Questa modalità consente l'accesso a un solo utente alla volta e viene in genere utilizzata per azioni di manutenzione.
Limiti
Se altri utenti sono connessi al database nel momento in cui viene impostata la modalità utente singolo, le relative connessioni verranno chiuse senza preavviso.
Il database rimane in modalità utente singolo anche dopo che l'utente che ha impostato l'opzione si è disconnesso. A questo punto, un altro utente (ma solo uno) potrà connettersi al database.
Prerequisiti
- Prima di impostare il database in modalità SINGLE_USER, verificare che l'opzione AUTO_UPDATE_STATISTICS_ASYNC sia impostata su
OFF
. Se l'opzione è impostata suON
, tramite il thread in background utilizzato per aggiornare le statistiche viene stabilita una connessione con il database che non sarà quindi accessibile in modalità utente singolo. Per altre informazioni, vedere Opzioni ALTER DATABASE SET (Transact-SQL).
Autorizzazioni
È richiesta l'autorizzazione ALTER per il database.
Usare SQL Server Management Studio
Per impostare un database in modalità utente singolo:
In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.
Fare clic con il pulsante destro del mouse sul database per modificare e quindi scegliere Proprietà.
Nella finestra di dialogo Proprietà database selezionare la pagina Opzioni.
Selezionare Single nell'opzione Limitazione accesso.
Se altri utenti sono connessi al database, verrà visualizzato il messaggio Connessioni aperte . Per modificare la proprietà e chiudere tutte le altre connessioni, selezionare Sì.
Tramite questa procedura, è inoltre possibile impostare l'accesso Multiple o Restricted per il database. Per altre informazioni sulle opzioni di limitazione dell'accesso, vedere Proprietà del database (pagina Opzioni).
Usare Transact-SQL
Per impostare un database in modalità utente singolo:
Connettersi al motore di database di .
Nella barra Standard selezionare Nuova query.
Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio si imposta il database in modalità
SINGLE_USER
in modo da ottenere l'accesso esclusivo. Nell'esempio lo stato del databaseAdventureWorks2022
viene quindi impostato suREAD_ONLY
e viene ripristinato l'accesso al database per tutti gli utenti.
Avviso
Per ottenere rapidamente l'accesso esclusivo, l'esempio di codice usa l'opzione di terminazione WITH ROLLBACK IMMEDIATE
. Questa operazione comporterà il rollback di tutte le transazioni incomplete e l'immediata interruzione di qualsiasi altra connessione al database AdventureWorks2022
.
USE master;
GO
ALTER DATABASE AdventureWorks2022
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2022
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2022
SET MULTI_USER;
GO