Ho abbassato la memoria massima dell'istanza di SQL Server a 15 MB ... Ora non riesco ad accedere per aumentarla. Come posso aumentare la memoria massima senza accedere?
La versione è SQL 2008 R2
Ho abbassato la memoria massima dell'istanza di SQL Server a 15 MB ... Ora non riesco ad accedere per aumentarla. Come posso aumentare la memoria massima senza accedere?
La versione è SQL 2008 R2
Risposte:
Connettiti utilizzando Dedicated Administrator Connection (DAC) , che garantisce una quantità minima di risorse per risolvere problemi esattamente come questo. Ad esempio, se ci si connette tramite Management Studio, avviare una finestra Nuova query e digitare ADMIN:servername
invece di servername
quando viene richiesto di connettersi. Ignorare eventuali errori che si verificano che sono generalmente benigni in quanto associati a Esplora oggetti, all'elenco a discesa del database, a IntelliSense, ecc., Anche tentando di connettersi per conto dell'utente (è consentita solo una connessione DAC).
Maggiori informazioni qui , qui e alcune procedure di risoluzione dei problemi qui .
In alternativa (poiché era successo due volte prima e il trucco DAC non funzionava per me), chiudere il servizio SQL Server, quindi riportarlo in modalità "configurazione minima", che è una versione modificata della modalità utente singolo.
Tramite la riga di comando, vai al percorso dell'eseguibile sqlservr.exe, come elencato nel servizio. Ma invece di correre sqlservr.exe -m
, usa sqlservr.exe -f"sqlcmd"
. Ciò consentirà SOLO connessioni dall'applicazione denominata, quindi tutto il resto fallirà, ma sarai in grado di connetterti, modificare l'impostazione, emettere il comando SHUTDOWN dall'interno di SQLCMD, quindi visualizzarlo normalmente.
Dal prompt dei comandi avviare sqlCmd utilizzando Didicated Administrator Connection (DAC). :
C: \> sqlcmd -S NomeServer -U sa -P –A
Una volta connesso, eseguire quanto segue per impostare la memoria su 4Gigs. dovrebbe essere sufficiente per consentire di riconnettersi utilizzando lo strumento Management Studio.
sp_configure 'mostra opzioni avanzate', 1; PARTIRE RECONFIGURE; PARTIRE sp_configure 'max server memory', 4096; PARTIRE RECONFIGURE; PARTIRE
Per ulteriori informazioni sul DAC, vedere: Dedicated Administrator Connection (DAC) https://msdn.microsoft.com/en-us/library/ms189595(v=sql.105).aspx
Ho appena avuto lo stesso problema e non ho avuto fortuna con l'avvio di SSMS o DAC, quindi spero che questo possa aiutare la persona successiva che è nel panico.
Ho avviato SQL Server Configuration Manager (sto eseguendo SQL 2017) sul server, selezionato "SQL Server Services" nel riquadro a sinistra e quindi facendo clic con il tasto destro su "SQL Server (MSSQLSERVER)" nel riquadro a destra e scegli "proprietà". Nella finestra Proprietà, sono andato alla scheda "Parametri di avvio" e ho aggiunto il parametro di avvio "-f". Ho riavviato il servizio SQL e si è avviato in modalità " configurazione minima ". Sono stato quindi in grado di accedere a SSMS e correggere l'impostazione della memoria massima. Sono quindi tornato alla scheda "Parametri di avvio" e rimosso il parametro "-f" e riavviato nuovamente il servizio.
Stesso problema, la memoria è stata impostata su un valore troppo basso per errore. Impossibile connettersi tramite DAC, ha fatto quanto segue:
net start "SQL Server (MSSQLSERVER)" /f /m
Questo viene fatto utilizzando il comando net start / stop o dal comando sqlserver.exe. Controlliamo innanzitutto come viene eseguito tramite il comando net start / stop La sintassi per un comando net start / stop è NET START Il nome del servizio può essere ottenuto come mostrato di seguito.
--- abilitare il servizio è una modalità utente singolo
C: \ Programmi \ Microsoft SQL Server \ 130 \ Tools \ Binn> net start "SQL Server (MSSQLSERVER)" / f / m Il servizio SQL Server (MSSQLSERVER) è in fase di avvio. Il servizio SQL Server (MSSQLSERVER) è stato avviato correttamente. Connesso tramite SSMS direttamente sul server ed è stato in grado di raggiungere le proprietà e impostare le impostazioni di memoria corrette. Oppure esegui sotto il comando: - sp_configure 'mostra opzioni avanzate', 1; GO RECONFIGURE; GO sp_configure 'max server memory', 4096; GO RECONFIGURE; PARTIRE
- uscire dalla modalità utente singolo arrestando il servizio
C:\Program Files\Microsoft SQL Server\130\Tools\Binn>net stop "SQL Server (MSSQL
SERVER)"
Per avviare l'istanza SQL in modalità multiutente, interrompere il servizio utilizzando net stop come mostrato sopra e quindi avviarlo senza specificare il parametro \ m come mostrato di seguito.
C:\Program Files\Microsoft SQL Server\130\Tools\Binn>net start "SQL Server (MSSQLSERVER)"
The SQL Server (MSSQLSERVER) service is starting.
The SQL Server (MSSQLSERVER) service was started successfully.
Una cosa da notare qui è che l'avvio dell'istanza di SQL Server non avvia il servizio SQL Server Agent. Per avviare SQL Server Agent, ottenere il nome del servizio utilizzando il metodo condiviso sopra e avviarlo come mostrato nell'immagine sopra. Oppure vai ai servizi e abilitalo.