Não é possível conectar ao servidor sql no modo de usuário único

10

Eu comecei a minha SQL Server 2008 sqlcst02\inst01em Single User Modeanexando o ;-maté o fim dos parâmetros de inicialização para esta instância no SQL Server Configuration Manager. Eu parei SQL Server Agentpara o inst01exemplo. Minha conta é membro do Domain Admin groupe eu tentei fazer login usando sqlcmd -S sqlcst02\inst01e continuo recebendo um erro de que o serviço está Single User Modee apenas um administrador pode fazer login. Tentei adicionar ;-m"sqlcmd"os parâmetros de inicialização para limitar a conexão, sqlcmdmas recebo o mesmos resultados. Eu tentei isso conectado como minha própria conta e como a conta de administrador local. Eu iniciei o prompt de comando como eu e como administrador, mas obtenho os mesmos resultados. Eu tentei conectar-se usando ADMIN:sqlcst02\inst01em SSMS. Sem sorte

Estou tentando redefinir a sasenha, pois nenhuma dessas informações foi deixada para mim pelo administrador anterior. Isso é enlouquecedor. Eu fiz isso antes em outras máquinas sem problemas.


fonte
11
Sua conta de domínio (explicitamente ou por meio de um grupo) é membro da função de servidor sysadmin na instância do SQL Server?
Brian Knight
Eu não sei. Sei que sou membro do grupo Admin do domínio e do grupo SQL ADMINS e que o grupo SQL ADMINS é membro da função sysadmin em todos os outros servidores. mas aposto que não é o caso desta máquina.
seu SQL está sendo executado em um cluster? nesse serviço de cluster tem conexão aberta com o SQL antes de você. Outra possibilidade de você ter um serviço ou aplicativo que esteja estabelecendo a conexão com o SQL Server como sysadmin antes que você como administrador possa se conectar.
SQL Learner
Não há nada de errado com a conexão e nada de errado com o login. Se você chegar ao ponto de ver o erro no modo de usuário único, precisará descobrir o que mais está se conectando à instância e evitá-lo pelo menos pelo tempo que for necessário para estabelecer a conexão.
9133 Jon Seigel

Respostas:

6

Outra alternativa para recuperar o acesso a um SQL Server é descrita neste artigo e não requer a reinicialização no modo de usuário único:

http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/

Basicamente, baixe o PSExec e execute-o com a seguinte linha de comando (preencha o local do SSMS.exe):

PsExec -s -i "C:\Program Files (x86)\...\ssms.exe"

Você será solicitado a conectar-se - o modo de autenticação será autenticado pelo Windows e codificado NT AUTHORITY\SYSTEM. Uma vez conectado, você poderá entrar em segurança e corrigir a senha sa, adicionar-se como administrador, adicionar outros administradores etc.

O artigo acima tem várias advertências que você deve ler antes de tentar isso, e você também pode revisar os comentários na parte inferior.

Aaron Bertrand
fonte
1

Acabei de ser mordido por este. O que eu tinha esquecido era executar o prompt do CMD como administrador. Esse não é o padrão no Windows 2008 R2. Uma vez que eu fiz isso tudo estava bem. Um dos meus colegas sugeriu esse problema e pronto, tudo foi corrigido. Eu me sinto um idiota, mas pensei em compartilhar para salvar os outros.

Just John
fonte
0

OK - se você não estiver na função sysadmin no SQL Server, não poderá entrar pelo modo de usuário único. Se você é um administrador no próprio servidor, pode usar a resposta nesta postagem para ajudá-lo.

Brian Knight
fonte
Se você for um administrador no próprio servidor, poderá fazer login através do modo de usuário único, conforme descrito nos documentos e ele tratará a conexão como se você estivesse na sysadminfunção. Que, até onde eu posso ver, é exatamente o que faz a postagem do blog vinculada ao seu outro link.
Martin Smith
0

Eu tive um problema semelhante, em que um cluster foi desativado porque configurei o maxmem para 12 (em vez de 120000, aparentemente meu zero estava quebrado)

Percebi que quando usei o prompt de parâmetros de inicialização normal e o sqlcmd -AI estava com o tempo limite de logon esgotado, e as mensagens de erro informando que o DAC provavelmente não estava conectado.

Iniciei os serviços sql copiando os parâmetros de inicialização do gerenciador de configuração em um prompt administrativo do PowerShell e adicionei os parâmetros -cf.

Em outra janela, consegui usar o sqlcmd, mas não com o parâmetro -A, apenas conexões padrão.

Nesse ponto, eu era capaz de executar consultas e sp_configured minha saída. Isso foi com uma conta de domínio.

ConstantineK
fonte