Impostare un database in modalità utente singolo
In questo argomento viene descritto come impostare un database definito dall'utente in modalità utente singolo in SQL Server 2014 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.
Contenuto dell'articolo
Prima di iniziare:
Per impostare un database in modalità utente singolo utilizzando:
Prima di iniziare
Limitazioni e restrizioni
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 se l'utente che ha impostato l'opzione si disconnette. 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 su ON, 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).
Sicurezza
Autorizzazioni
È richiesta l'autorizzazione ALTER per il database.
Uso di 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 di cui modificare l'impostazione e quindi scegliere Proprietà.
Nella finestra di dialogo Proprietà database fare clic sulla 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, fare clic su Sì.
Tramite questa procedura, è inoltre possibile impostare l'accesso Multiple o Restricted per il database. Per altre informazioni sulle opzioni Limita accesso, vedere Proprietà del database (pagina Opzioni).
Uso di Transact-SQL
Per impostare un database in modalità utente singolo
Connettersi al motore di database.
Dalla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio si imposta il database in modalità
SINGLE_USER
in modo da ottenere l'accesso esclusivo. L'esempio imposta quindi lo stato del database AdventureWorks2012 suREAD_ONLY
e restituisce l'accesso al database a tutti gli utenti. L'opzioneWITH ROLLBACK IMMEDIATE
di terminazione viene specificata nella primaALTER DATABASE
istruzione. Ciò causerà il rollback di tutte le transazioni incomplete e tutte le altre connessioni al database AdventureWorks2012 devono essere immediatamente disconnesse.
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO