Accidentalmente rechazó la memoria SQL demasiado baja para iniciar sesión, ¿cómo lo soluciono?

14

Rechacé la Memoria Máxima de mi instancia de SQL Server a 15 MB ... Ahora no puedo iniciar sesión para aumentarla. ¿Cómo puedo aumentar la memoria máxima sin iniciar sesión?

La versión es SQL 2008 R2

CamronBute
fuente

Respuestas:

18

Conéctese utilizando la Conexión de administrador dedicada (DAC) , que tiene garantizada una cantidad mínima de recursos para resolver problemas exactamente como este. Por ejemplo, si se está conectando a través de Management Studio, inicie una ventana Nueva consulta y simplemente escriba en ADMIN:servernamelugar de servernamecuando le indique que se conecte. Ignore cualquier error que obtenga, que generalmente es benigno ya que está asociado con el Explorador de objetos, la lista desplegable de la base de datos, IntelliSense, etc. que también intenta conectarse en su nombre (solo se permite una conexión DAC).

Más información aquí , aquí y algunos problemas aquí .

Aaron Bertrand
fuente
7

Alternativamente (dado que sucedió dos veces antes y el truco DAC no funcionó para mí), apague el servicio de SQL Server y luego vuelva a ponerlo en modo de "configuración mínima", que es una versión modificada del modo de usuario único.

A través de la línea de comando, vaya a la ruta del ejecutable sqlservr.exe, como se detalla en el servicio. Pero en lugar de correr sqlservr.exe -m, úsalo sqlservr.exe -f"sqlcmd". Esto SOLO permitirá conexiones desde la aplicación nombrada, por lo que todo lo demás fallará, pero podrá conectarse, cambiar la configuración, emitir el comando SHUTDOWN desde SQLCMD y luego abrirlo normalmente.

mbourgon
fuente
5

Desde el símbolo del sistema, inicie sqlCmd usando la conexión de administrador didicada (DAC). :

    C: \> sqlcmd -S ServerName -U sa -P –A

Una vez que esté conectado, ejecute lo siguiente para configurar la memoria en 4Gigs. Debería ser suficiente para que pueda volver a conectarse utilizando la herramienta Management Studio.

sp_configure 'mostrar opciones avanzadas', 1;  
VAMOS  
Reconfiguración;  
VAMOS  
sp_configure 'memoria máxima del servidor', 4096;  
VAMOS  
Reconfiguración;  
VAMOS  

Más información sobre el DAC, consulte: Conexión de administrador dedicada (DAC) https://msdn.microsoft.com/en-us/library/ms189595(v=sql.105).aspx

Bruno M.
fuente
3

Simplemente tuve el mismo problema y no tuve suerte con el lanzamiento de SSMS o DAC, así que espero que esto ayude a la próxima persona que está en pánico.

Lancé el Administrador de configuración de SQL Server (estoy ejecutando SQL 2017) en el servidor, seleccioné "Servicios de SQL Server" en el panel izquierdo y luego hice clic derecho en "SQL Server (MSSQLSERVER)" en el panel derecho y elija "propiedades". En la ventana Propiedades, fui a la pestaña "Parámetros de inicio" y agregué el parámetro de inicio "-f". Reinicié el servicio SQL y se lanzó en modo de " configuración mínima ". Luego pude ingresar a SSMS y corregir la configuración de Memoria máxima. Luego volví a la pestaña "Parámetros de inicio" y eliminé el parámetro "-f" y reinicié el servicio una vez más.

BD.
fuente
1

El mismo problema, la memoria se configuró en demasiado baja por error. No se pudo conectar usando DAC, hizo lo siguiente:

  1. net start "SQL Server (MSSQLSERVER)" /f /m
  2. Se conectó mediante SSMS en el servidor directamente y pude acceder a las propiedades y establecer la configuración de memoria correcta.
Vad
fuente
1

Esto se hace usando el comando net start / stop o el comando sqlserver.exe. Primero, verifiquemos cómo se hace mediante el comando net start / stop. La sintaxis de un comando net start / stop es NET START. El nombre del servicio se puede obtener como se muestra a continuación.

  1. Escriba services.msc en la ventana "EJECUTAR" y haga clic en Aceptar. Esto abrirá el cuadro de diálogo de servicio.
  2. Navegue a la instancia de SQL Server para la que desea obtener el nombre del servicio y haga doble clic en él. Esto abrirá el cuadro de diálogo de propiedades para esa instancia. Copie el nombre del servicio que aparece allí.
  3. --- habilitar el servicio es un modo de usuario único

    C: \ Archivos de programa \ Microsoft SQL Server \ 130 \ Tools \ Binn> net start "SQL Server (MSSQLSERVER)" / f / m El servicio SQL Server (MSSQLSERVER) se está iniciando. El servicio SQL Server (MSSQLSERVER) se inició con éxito. Se conectó mediante SSMS en el servidor directamente y pude acceder a las propiedades y establecer la configuración de memoria correcta. O ejecute el siguiente comando: - sp_configure 'show advanced options', 1; VAYA A RECONFIGURARSE; GO sp_configure 'memoria máxima del servidor', 4096; VAYA A RECONFIGURARSE; VAMOS

- Salga del modo de usuario único deteniendo el servicio

C:\Program Files\Microsoft SQL Server\130\Tools\Binn>net stop "SQL Server (MSSQL
SERVER)"

Para iniciar la instancia de SQL en modo multiusuario, detenga el servicio usando net stop como se muestra arriba y luego inícielo sin especificar el parámetro \ m como se muestra a continuación.

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 a tener en cuenta aquí es que al iniciar la instancia de SQL Server no se inicia el servicio del Agente SQL Server. Para iniciar el Agente SQL Server, obtenga el nombre del servicio utilizando el método compartido anteriormente e inícielo como se muestra en la imagen de arriba. O Ir a servicios y habilitarlo.

Poonam Bhatia
fuente