Condividi tramite


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 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).

Autorizzazioni

È richiesta l'autorizzazione ALTER per il database.

Usare 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 e, successivamente, espanderla.

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

  3. Nella finestra di dialogo Proprietà database selezionare la pagina Opzioni.

  4. Selezionare Single nell'opzione Limitazione accesso.

  5. Se altri utenti sono connessi al database, verrà visualizzato il messaggio Connessioni aperte . Per modificare la proprietà e chiudere tutte le altre connessioni, selezionare .

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:

  1. Connettersi al motore di database di.

  2. Nella barra Standard selezionare Nuova query.

  3. 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 database AdventureWorks2022 viene quindi impostato su READ_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