Avvio di SQL Server in modalità utente singolo

In alcuni casi potrebbe essere necessario avviare un'istanza di SQL ServerSQL Server in modalità utente singolo usando l'opzione di avvio -m. Ad esempio, può risultare utile modificare le opzioni di configurazione del server oppure recuperare un database master o un altro database di sistema danneggiato. In entrambi i casi, è necessario avviare un'istanza di SQL ServerSQL Server in modalità utente singolo.

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

Quando si avvia un'istanza di SQL ServerSQL Server in modalità utente singolo, si noti quanto segue:

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

Nota

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

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

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

Importante

Non utilizzare tale opzione come caratteristica 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 ServerSQL Server in un ambiente cluster, quando SQL ServerSQL 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 ServerSQL Server si trova in questo stato, se si tenta di portare la risorsa SQL ServerSQL Server online, potrebbe venire eseguito il failover della risorsa SQL a un nodo diverso se la risorsa è configurata in modo da influire sul gruppo.

Per aggirare il problema, attenersi alla procedura seguente:

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

  2. Portare la risorsa SQL ServerSQL Server offline.

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

  4. Verificare tramite Amministrazione cluster o tramite la console di gestione del cluster di failover che la risorsa SQL ServerSQL Server sia ancora offline.

  5. Connettersi ora a SQL ServerSQL 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 Amministrazione 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