Condividi tramite


Modalità utente singolo per SQL Server

Si applica a:SQL Server

Questo articolo fornisce informazioni e procedure per avviare l'istanza di SQL Server in modalità utente singolo, che consente una sola connessione utente all'istanza di .

Avviare l'istanza 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 se gli amministratori di sistema sono bloccati.

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

L'esempio seguente avvia l'istanza di SQL Server in modalità utente singolo tramite la riga di comando e consente solo la connessione tramite l'editor di query di SQL Server Management Studio.

net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"

Per ripristinare il master database in SQL Server in Linux in modalità utente singolo, vedere Ripristinare il database master in Linux in modalità utente singolo.

Considerazioni generali

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, viene eseguito automaticamente all'avvio.

Nota

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. La connessione di Esplora oggetti in Management Studio potrebbe non riuscire perché richiede più connessioni per alcune operazioni. Per gestire SQL Server in modalità utente singolo, eseguire istruzioni Transact-SQL connettendosi tramite l'editor di query in Management Studio oppure usare l'utilità sqlcmd.

Quando si usa l'opzione -m , è possibile aggiungere un nome di applicazione specifico per limitare le connessioni solo a quelle con lo stesso nome dell'applicazione specificato nella stringa di connessione. Ad esempio, l'utilità sqlcmd usa SQLCMD come nome dell'applicazione nella stringa di connessione. Se si specifica -mSQLCMD come parametro di avvio, l'istanza di SQL Server viene avviata in modalità utente singolo e le connessioni da applicazioni diverse sqlcmd da vengono rifiutate. Utilizzare questa opzione quando si avvia SQL Server in modalità utente singolo e un'applicazione client sconosciuta utilizza l'unica connessione disponibile.

Per connettersi tramite l'editor di query in Management Studio, è possibile usare -mSSMSQueryEditor e immettere App=SSMSQueryEditor nella scheda Parametri di connessione aggiuntivi della finestra di dialogo Connetti al motore di database .

Nota

Il nome dell'applicazione specificato con l'opzione di avvio -m potrebbe essere sensibile alla distinzione tra maiuscole e minuscole.

Importante

Non utilizzare tale 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.

Considerazioni su Always On

Quando si utilizza la modalità server singolo per le istanze di SQL Server configurate come un'istanza del cluster di failover Always On (FCI), oppure quando i database fanno parte di un gruppo di disponibilità Always On (AG), è necessario considerare ulteriori fattori.

Gruppi di disponibilità

L'avvio del gruppo di disponibilità Always On e dei database nel gruppo viene saltato quando SQL Server viene avviato in modalità a utente singolo. Se è necessario risolvere i problemi relativi a un database che richiede l'avvio di SQL Server in modalità utente singolo e il database fa anche parte di un gruppo di disponibilità, è necessario rimuovere il database dal gruppo di disponibilità prima di avviare SQL Server in modalità utente singolo in modo che il database venga online.

Istanze del cluster di failover

Per l'installazione di SQL Server in un ambiente cluster, quando SQL Server viene avviato in modalità utente singolo, la DLL della risorsa cluster usa la connessione disponibile, bloccando così tutte le altre connessioni al server. Quando SQL Server è in questo stato, se si tenta di portare online la risorsa di SQL Server Agent, potrebbe eseguire il failover della risorsa SQL in un nodo diverso se la risorsa è configurata per influire 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 a SQL Server usando il comando seguente ed eseguire l'operazione necessaria:

    sqlcmd -E -S\<servername>
    
  6. Dopo aver completato l'operazione, chiudere il prompt dei comandi e riportare online SQL e le altre risorse tramite l'amministratore del cluster.