Condividi tramite


Avviare SQL Server in modalità Single-User

In determinate circostanze, potrebbe essere necessario avviare un'istanza di SQL Server in modalità utente singolo usando l'opzione di avvio -m. Ad esempio, è possibile modificare le opzioni di configurazione del server o ripristinare un database master danneggiato o un altro database di sistema. In entrambi i casi, è necessario avviare un'istanza di SQL Server in modalità utente singolo.

L'avvio di SQL Server in modalità utente singolo consente a qualsiasi membro del gruppo Administrators locale del computer di connettersi all'istanza di SQL Server come membro del ruolo predefinito del server sysadmin. Per altre informazioni, vedere Connettersi a SQL Server quando gli amministratori di sistema sono bloccati.

Quando si avvia un'istanza di SQL Server in modalità utente singolo, tenere presente che:

  • La connessione al server è consentita a un solo utente.

  • Il processo CHECKPOINT non viene eseguito. Per impostazione predefinita, tale processo viene eseguito automaticamente all'avvio.

Annotazioni

Arrestare il servizio SQL Server Agent prima di connettersi a un'istanza di SQL Server in modalità utente singolo. In caso contrario, il servizio SQL Server Agent utilizzerà la connessione, bloccandola.

Quando si avvia un'istanza di SQL Server in modalità utente singolo, SQL Server Management Studio può connettersi a SQL Server. In Esplora oggetti in Management Studio potrebbe verificarsi un errore perché per alcune operazioni sono necessarie più connessioni. Per gestire SQL Server in modalità utente singolo, eseguire istruzioni Transact-SQL connettendosi solo tramite l'editor di query in Management Studio o usando l'utilità sqlcmd.

Quando si usa l'opzione -m con sqlcmd o Management Studio, è possibile limitare le connessioni a un'applicazione client specificata. Ad esempio, -m"sqlcmd" limita le connessioni a una singola connessione e tale connessione deve identificarsi come programma client sqlcmd . Usare questa opzione quando si avvia SQL Server in modalità utente singolo e un'applicazione client sconosciuta usa l'unica connessione disponibile. Per connettersi tramite l'editor di query in Management Studio, usare -m"Microsoft SQL Server Management Studio - Query".

Importante

Non usare questa opzione come funzionalità di sicurezza. L'applicazione client fornisce il nome dell'applicazione client stessa e può indicare un nome falso come parte della stringa di connessione.

Nota per le installazioni cluster

Per un'installazione di SQL Server in un ambiente cluster, quando SQL Server viene avviato in modalità utente singolo, la dll della risorsa cluster utilizza tutta la connessione disponibile, bloccando pertanto qualsiasi altra connessione al server. Quando SQL Server è in questo stato, se si tenta di mettere online la risorsa di SQL Server Agent, potrebbe eseguire il failover della risorsa SQL su un nodo diverso se la risorsa è configurata per impattare sul gruppo.

Per aggirare il problema, attenersi alla procedura seguente:

  1. Rimuovere il parametro di avvio -m dalle proprietà avanzate di SQL Server.

  2. Prendere la risorsa SQL Server offline.

  3. Dal nodo del proprietario corrente di questo gruppo, eseguire il comando seguente da un prompt dei comandi.
    net start MSSQLSERVER /m.

  4. Verificare tramite l'amministratore del cluster o tramite la console di gestione del cluster di failover che la risorsa SQL Server sia ancora offline.

  5. Connettersi ora a SQL Server con il comando seguente ed eseguire l'operazione necessaria: SQLCMD -E -S<nomeserver>.

  6. Dopo aver completato l'operazione, chiudere il prompt dei comandi e riportare online SQL e le altre risorse tramite l'amministratore del cluster.

Vedere anche

Avvio, arresto o sospensione del servizio SQL Server Agent
Connessione di diagnostica per gli amministratori di database
Utilità sqlcmd
CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL)
Opzioni di avvio del servizio del motore di database