Não é possível fazer login no SQL Server no modo de usuário único

9

Eu tenho tentado todos os tipos de combinações diferentes de sinalizadores de inicialização para o SQL Server 2008 R2 Express e não consigo superar esse erro:

Falha no login para o usuário 'LOCALSERVER \ Administrator'. Motivo: o servidor está no modo de usuário único. Somente um administrador pode se conectar no momento. (Microsoft SQL Server, erro: 18461)

Eu tentei iniciá-lo no modo de usuário único por ambos -m"SQLCMD"e -m"sqlcmd"Iv'e até tentou iniciá-lo -m"Microsoft SQL Server Management Studio - Query"e conectar-se com os clientes apropriados. SEMPRE recebo esse erro. Tenho 99% de certeza de que nada mais está roubando minha conexão e, ao conectar-me com o SSMS, certifique-se de usar o método "new query-connect` para garantir que ele use apenas 1 conexão.

Alguém mais teve esse problema? Como faço para corrigir e fazer login?

Earlz
fonte

Respostas:

16

Aqui está uma solução que acabei de encontrar para esse problema antigo:

  1. Pare todos os serviços SQL
  2. Comece com -m
  3. Execute o MSSQL Management Studio como administrador

Se não for iniciado como administrador (como eu não fui), você receberá o genérico ao qual um administrador já está conectado. Em vez de dizer que você não pode se conectar porque não é administrador.

Outro erro confuso da Microsoft. Suponho que o mesmo problema existirá com um sqlcmd também

Saudações

Liam

Liam Wheldon
fonte
3
A execução do SSMS como administrador é um ponto bastante importante. Não estava funcionando para mim sem isso.
MrEdmundo
Ugg, isso funciona como material de administrador é uma dor. nem precisei entrar no modo -m.
Omzig 31/01/19
8

Apesar da Microsoft dizer o contrário, você não deve citar após o -m. Então, para SQLCMD, você faria -mSQLCMD. Eu não vi isso dito em lugar nenhum, então vou documentar aqui. Se nada mais funcionar, tente não citá-lo.

Earlz
fonte
1
Este foi absolutamente 100% o problema que tive. O sqlcmd funcionou imediatamente após isso.
Hlmtre
@Earlz: Não remover as aspas foi absolutamente, exatamente, inteiramente um problema meu. (E provavelmente salvou-me de um dia inteiro de trabalho, obrigado!)
techvslife
2

Não deve haver nada depois de -m. A sintaxe deve se parecer com:

sqlservr.exe -c -f -m 

Em seguida, efetue login na instância usando o sqlcmd e faça as alterações necessárias. Se você tentar usar o SQL Server Management Studio para efetuar login, não poderá, pois o SSMS exige várias conexões para efetuar login.

Mrdenny
fonte
-m pode opcionalmente ser sufixado por um "nome do cliente", no meu caso eu precisava que fosse sqlcmd porque outras coisas estariam tentando conectar e roubar minha conexão.
Earlz
Obrigado, esta foi a resposta certa para mim no SQL Server 2012. Interrompa / desative outros serviços SQL e execute o SSMS como administrador.
Noah Stahl
0

Eu apenas tive esse problema exato e tudo o que tive que fazer foi:

  • Pare o serviço SQL principal da minha instância.
  • Comece.

Reconectei o navegador SQL e ele funcionou novamente. Portanto, em vez de tentar todas as etapas extras, as pessoas devem realmente tentar a abordagem mais simples que funciona primeiro antes de passar para tentativas mais completas.

Katastic Voyage
fonte
-3

Alterar o controle de conta de usuário para Never Notify resolveu o problema para mim

Gerhard Powell
fonte
Por que os votos negativos, quando é uma solução que funciona?
Gerhard Powell
As pessoas que votam negativamente devem explicar por que essa não é uma boa resposta. Caso contrário, o voto negativo é inútil como uma resposta ruim.
26517 K_Rol