Recusei a memória máxima da instância do meu SQL Server para 15 MB... Agora não consigo fazer login para aumentá-la. Como posso aumentar a memória máxima sem fazer login?
A versão é SQL 2008 R2
Recusei a memória máxima da instância do meu SQL Server para 15 MB... Agora não consigo fazer login para aumentá-la. Como posso aumentar a memória máxima sem fazer login?
A versão é SQL 2008 R2
Conecte-se usando o Dedicated Administrator Connection (DAC) , que garante uma quantidade mínima de recursos para resolver problemas exatamente como este. Por exemplo, se você estiver se conectando por meio do Management Studio, abra uma janela Nova consulta e digite
ADMIN:servername
em vez deservername
quando ele solicitar que você se conecte. Ignore quaisquer erros que você obtenha, que geralmente são benignos, pois estão associados ao Object Explorer, à lista suspensa do banco de dados, ao IntelliSense, etc., também tentando se conectar em seu nome (apenas uma conexão DAC é permitida).Mais informações aqui , aqui e algumas soluções de problemas aqui .
Como alternativa (já que aconteceu duas vezes antes e o truque do DAC não funcionou para mim), desligue o serviço do SQL Server e traga-o de volta ao modo de "configuração mínima", que é uma versão modificada do modo de usuário único.
Por meio da linha de comando, vá para o caminho do executável sqlservr.exe, conforme listado no serviço. Mas, em vez de executar
sqlservr.exe -m
, usesqlservr.exe -f"sqlcmd"
. Isso permitirá APENAS conexões do aplicativo nomeado, portanto, todo o resto falhará, mas você poderá se conectar, alterar a configuração, emitir o comando SHUTDOWN de dentro do SQLCMD e ativá-lo normalmente.No prompt de comando, inicie o sqlCmd usando a Conexão dedicada do administrador (DAC). :
Uma vez conectado, execute o seguinte para definir a memória para 4 GB, deve ser o suficiente para permitir a reconexão usando a ferramenta Management Studio.
Mais sobre Conexão Dedicada do Administrador (DAC)
Acabei de ter o mesmo problema e não tive sorte com o lançamento do SSMS ou do DAC, então espero que isso ajude a próxima pessoa que está em pânico.
Iniciei o SQL Server Configuration Manager (estou executando o SQL 2017) no servidor, selecionei "SQL Server Services" no painel esquerdo e cliquei com o botão direito do mouse em "SQL Server (MSSQLSERVER)" no painel direito e escolha "propriedades". Na janela Propriedades, fui até a guia "Parâmetros de inicialização" e adicionei o parâmetro de inicialização "-f". Reiniciei o SQL Service e ele foi iniciado no modo " configuração mínima ". Consegui então entrar no SSMS e corrigir a configuração de memória máxima. Em seguida, voltei para a guia "Parâmetros de inicialização", removi o parâmetro "-f" e reiniciei o serviço novamente.
Mesmo problema, a memória foi definida como muito baixa por engano. Não foi possível conectar usando DAC, fiz o seguinte:
net start "SQL Server (MSSQLSERVER)" /f /m
Isso é feito usando o comando net start/stop ou pelo comando sqlserver.exe. Vamos primeiro verificar como isso é feito por meio do comando net start/stop A sintaxe para um comando net start/stop é NET START O nome do serviço pode ser obtido como mostrado abaixo.
---ativar serviço é um modo de usuário único
C:\Arquivos de Programas\Microsoft SQL Server\130\Tools\Binn>net start "SQL Server (MSSQLSERVER)" /f /m O serviço SQL Server (MSSQLSERVER) está iniciando. O serviço SQL Server (MSSQLSERVER) foi iniciado com sucesso. Conectou-se usando o SSMS diretamente no servidor e conseguiu acessar as propriedades e definir as configurações de memória corretas. Ou execute o comando abaixo:- sp_configure 'mostrar opções avançadas', 1; VAI RECONFIGURAR; GO sp_configure 'memória máxima do servidor', 4096; VAI RECONFIGURAR; VAI
--saia do modo monousuário parando o serviço
Para iniciar a Instância SQL no modo multiusuário, pare o serviço usando net stop como mostrado acima e inicie-o sem especificar o parâmetro \m como mostrado abaixo.
Uma coisa a observar aqui é que iniciar a instância do SQL Server não inicia o serviço SQL Server Agent. Para iniciar o SQL Server Agent, obtenha o nome do serviço usando o método compartilhado acima e inicie-o conforme mostrado na imagem acima. Ou vá para serviços e habilite-o.