Impostare un database in modalità utente singoloSet a Database to Single-user Mode

In questo argomento si descrive come impostare un database definito dall'utente in modalità utente singolo in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to set a user-defined database to single-user mode in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Questa modalità consente l'accesso a un solo utente alla volta e viene in genere utilizzata per azioni di manutenzione.Single-user mode specifies that only one user at a time can access the database and is generally used for maintenance actions.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Se altri utenti sono connessi al database nel momento in cui viene impostata la modalità utente singolo, le relative connessioni verranno chiuse senza preavviso.If other users are connected to the database at the time that you set the database to single-user mode, their connections to the database will be closed without warning.

  • Il database rimane in modalità utente singolo anche se l'utente che ha impostato l'opzione si disconnette.The database remains in single-user mode even if the user that set the option logs off. A questo punto, un altro utente (ma solo uno) potrà connettersi al database.At that point, a different user, but only one, can connect to the database.

Prerequisiti Prerequisites

  • Prima di impostare il database in modalità SINGLE_USER, verificare che l'opzione AUTO_UPDATE_STATISTICS_ASYNC sia impostata su OFF.Before you set the database to SINGLE_USER, verify that the AUTO_UPDATE_STATISTICS_ASYNC option is set to 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.When this option is set to ON, the background thread that is used to update statistics takes a connection against the database, and you will be unable to access the database in single-user mode. Per altre informazioni, vedere Opzioni ALTER DATABASE SET (Transact-SQL).For more information, see ALTER DATABASE SET Options (Transact-SQL).

Sicurezza Security

Autorizzazioni Permissions

È richiesta l'autorizzazione ALTER per il database.Requires ALTER permission on the database.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per impostare un database in modalità utente singoloTo set a database to single-user mode

  1. In Esplora oggetticonnettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engine, quindi espandere questa istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine, and then expand that instance.

  2. Fare clic con il pulsante destro del mouse sul database di cui modificare l'impostazione e quindi scegliere Proprietà.Right-click the database to change, and then click Properties.

  3. Nella finestra di dialogo Proprietà database fare clic sulla pagina Opzioni .In the Database Properties dialog box, click the Options page.

  4. Selezionare Single nell'opzione Limitazione accesso.From the Restrict Access option, select Single.

  5. Se altri utenti sono connessi al database, verrà visualizzato il messaggio Connessioni aperte .If other users are connected to the database, an Open Connections message will appear. Per modificare la proprietà e chiudere tutte le altre connessioni, fare clic su .To change the property and close all other connections, click Yes.

    Tramite questa procedura, è inoltre possibile impostare l'accesso Multiple o Restricted per il database.You can also set the database to Multiple or Restricted access by using this procedure. Per altre informazioni sulle opzioni di limitazione dell'accesso, vedere Proprietà del database (pagina Opzioni).For more information about the Restrict Access options, see Database Properties (Options Page).

Utilizzo di Transact-SQL Using Transact-SQL

Per impostare un database in modalità utente singoloTo set a database to single-user mode

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. In questo esempio si imposta il database in modalità SINGLE_USER in modo da ottenere l'accesso esclusivo.This example sets the database to SINGLE_USER mode to obtain exclusive access. Nell'esempio lo stato del database AdventureWorks2012AdventureWorks2012 viene quindi impostato su READ_ONLY e viene ripristinato l'accesso al database per tutti gli utenti. L'opzione di chiusura WITH ROLLBACK IMMEDIATE è specificata nella prima istruzione ALTER DATABASE .The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.The termination option WITH ROLLBACK IMMEDIATE is specified in the first ALTER DATABASE statement. Questa operazione comporterà il rollback di tutte le transazioni incomplete e l'immediata interruzione di qualsiasi altra connessione al database AdventureWorks2012AdventureWorks2012 .This will cause all incomplete transactions to be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database to be immediately disconnected.

    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
    

Vedere ancheSee Also

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)