Solo un amministratore può connettersi al momento (errore 18461 di MS SQL Server)


14

Stavo sperimentando l'effetto di dare a SQL Server una piccola quantità di memoria che pensavo stesse per recuperare.

Ho configurato SQL Server per utilizzare 200 MB di memoria ora non si desidera avviare, ho fatto alcune ricerche su Internet e mi è stato consigliato di avviare SQL Server in modalità utente singolo. tuttavia, ottengo l'errore

Accesso non riuscito per l'utente A. Motivo: il server è in modalità utente singolo. Solo un amministratore può connettersi al momento (Microsoft SQL Server, Errore: 18461)

inserisci qui la descrizione dell'immagine

Ho arrestato SQL Server Agent.


2
Perché solo 200 MB di memoria? È necessario almeno 512 MB per Express Edition. msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx#pmosr
McNets

Risposte:


23

Se si avvia SQL Server in modalità utente singolo, solo un amministratore può connettersi contemporaneamente.

Ciò che sta probabilmente accadendo qui è che alcuni servizi utilizzano un accesso sysadmin per connettersi come i servizi di report o l'agente SQL Server.

Quando si avvia SQL Server in modalità utente singolo, è possibile specificare un'applicazione client in modo che solo tale applicazione possa connettersi.

Dai un'occhiata alle opzioni della riga di comando in cui elenca:

-m "Nome applicazione client"

Quando si utilizza l'opzione -m con SQLCMD o SQL Server 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. Utilizzare questa opzione quando si avvia SQL Server in modalità utente singolo e un'applicazione client sconosciuta sta prendendo l'unica connessione disponibile. Per connettersi tramite l'Editor di query in Management Studio, utilizzare -m "Microsoft SQL Server Management Studio - Query".

Il nome dell'applicazione client fa distinzione tra maiuscole e minuscole.

Se riesci a connetterti in questo modo, modifica la memoria massima del server in qualcosa di ragionevole. Suppongo che sarai in grado di connetterti perché altrimenti probabilmente riceveresti qualcosa come "non c'è alcun processo sull'altra estremità del tubo", quindi presumo che il tuo server sia in esecuzione.

Se tuttavia non è possibile accedere a SQL Server perché la configurazione della memoria non lo consente, è possibile avviare SQL Server con una configurazione minima utilizzando l' -fopzione.

-f

Avvia un'istanza di SQL Server con una configurazione minima. Ciò è utile se l'impostazione di un valore di configurazione (ad esempio memoria di commit eccessivo) ha impedito l'avvio del server. L'avvio di SQL Server in modalità di configurazione minima pone SQL Server in modalità utente singolo. Per ulteriori informazioni, vedere la descrizione per -m che segue.

Per riferimento: SQL Server non può essere avviato dopo aver impostato accidentalmente la "memoria massima del server" su 0


7
  • Avviare l'istanza SQL in modalità di configurazione minima

    NET START MSSQLSERVER /f
  • Connettersi all'istanza dalla stessa finestra cmd e modificare l'impostazione della memoria massima:

    SQLCMD -S Server/Instance -E

    Dovresti vedere un prompt simile al seguente:

    1> 

Per impostazione predefinita, l'impostazione di memoria massima potrebbe non essere disponibile per la visualizzazione e la modifica. Per modificare questo comportamento, utilizzare la query seguente:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

Riavvia l'istanza da Configuration Manager.


la soluzione migliore per <SQL Server non può essere avviata dopo aver impostato accidentalmente la "memoria massima del server" su 0> e l'errore "non esiste alcun processo sull'altra estremità della pipe"
faza

-1

Ho affrontato un problema simile. Sono riuscito a risolverlo arrestando "SQL Server (MSSQLSERVER)" e quindi riavviandolo. Dopo aver riavviato il processo sono stato in grado di connettermi senza problemi.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.