O SQL Server 2008 não pode efetuar login com o usuário recém-criado

200

Estou usando o Windows Vista e estou tendo problemas para fazer login com um usuário recém-criado.

  1. Abro o SQL Server Management Studio.
  2. Eu crio um novo Login clicando com o botão direito do mouse em Segurança-> Logins.
    Verifique: Autenticação do SQL Server
    Nome de logon: tester
    Senha: test
    Clique em OK
  3. Eu adicionei esse usuário ao Mapeamento do Usuário no meu banco de dados de escolha.
  4. Clique em Arquivo -> Connect Object Explorer, selecione Autenticação do SQL Server e insira tester / test e clique em Connect.

Eu recebo um erro:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.

O que causa esse erro e como faço o login com meu usuário?

Travis Heseman
fonte

Respostas:

480

O SQL Server não foi configurado para permitir autenticação mista.

Aqui estão as etapas para corrigir:

  1. Clique com o botão direito do mouse na instância do SQL Server na raiz do Object Explorer, clique em Propriedades
  2. Selecione Segurança no painel esquerdo.
  3. Selecione o botão de opção SQL Server e Windows Authentication mode e clique em OK.

    insira a descrição da imagem aqui

  4. Clique com o botão direito do mouse na instância do SQL Server, selecione Reiniciar (como alternativa, abra Serviços e reinicie o serviço SQL Server).

Isso também é incrivelmente útil para os usuários do IBM Connections, pois meus assistentes não conseguiram se conectar até que eu fixasse essa configuração.

Travis Heseman
fonte
8
Eu acho que é bom porque permite que os respondedores em potencial saibam que o problema foi resolvido. Também contribui para um crescente corpo de documentação que outros desenvolvedores podem usar para encontrar suas próprias respostas no futuro.
4
Definitivamente, não é ruim responder suas próprias perguntas. Mesmo anos após os dados, sua resposta foi útil para mim!
Johanvdw 17/08/2012
4
Eu tive o mesmo problema. Estava procurando uma solução por horas. Tentei tudo o que pude para resolvê-lo, mas não aconteceu. Então eu vi este post. Eu pensei que reiniciar o serviço é algo que eu não tentei. Então, eu reiniciei o serviço e funcionou! Então entrei apenas para dizer ... OBRIGADO
Answer_42
16
A culpa deve estar na mensagem de erro ridícula. Se ele dissesse algo como "Não foi possível efetuar o login. A autenticação do SQL Server não é permitida. O servidor está configurado para permitir apenas a autenticação do Windows. Entre em contato com ...", isso economizaria bastante.
rpattabi
5
@Tony Interessante. Obrigado. Ainda assim, não estou convencido de que a segurança seja uma desculpa válida para dificultar a usabilidade. Pode ter havido algo na mensagem para apontar o usuário para a resolução do problema.
Rpattabi
14

Se você não reiniciou o servidor de banco de dados SQL após fazer as alterações de logon, faça isso. Start-> Programs-> Microsoft SQL Server-> Configuration tools-> SQL Server configuration manager-> Restart Server.

Parece que você adicionou apenas o usuário ao servidor. Você precisa adicioná-los também ao banco de dados. Abra o banco de dados / Segurança / Usuário / Adicionar novo usuário ou abra o servidor / Segurança / Logins / Propriedades / Mapeamento de usuários.

Eric Leschinski
fonte
Obrigado por perceber. Esqueci de mencionar que editei o Mapeamento de usuários para fazer isso.
Travis Heseman 12/11/2009
Tópico antigo que eu conheço, mas tive que adicionar um novo Login ao servidor antes de poder adicionar um novo Usuário ao Banco de Dados. Servidor> Segurança> Logins> Clique com o botão direito do mouse em Novo Servidor de Login> Bancos de Dados> Selecione Banco de Dados> Segurança> Usuários> Clique com o Botão Direito, Novo Usuário.
red_dorian
2

Você provavelmente precisará verificar os logs de erro do SQL Server para determinar o estado real (não é relatado ao cliente por motivos de segurança). Consulte aqui para obter detalhes.

GuyBehindtheGuy
fonte
Obrigado .. Eu já estive nessa página. Observe que não menciona o que State = 1 realmente significa. Grr ... mas eu estou bem agora.
Travis Heseman 12/11/2009
Como a página explica, o estado registrado no log de erros do SQL Server será diferente do estado relatado ao usuário.
GuyBehindtheGuy
1

Faça logon no servidor como administrador

Vá para Segurança> Logins> Novo Login

Passo 1:

Login Name : SomeName

Passo 2:

Select  SQL Server / Windows Authentication.

Mais informações sobre, quais são as diferenças entre autenticação de servidor sql e autenticação do windows ..?

Escolha DB e idioma padrão de sua escolha

Clique OK

Tente se conectar com as novas credenciais de usuário. Ele solicitará que você altere a senha. Mudança e login

OU

Tente com a consulta:

USE [master] -- Default DB
GO

CREATE LOGIN [Username] WITH PASSWORD=N'123456', DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO

--123456 is the Password And Username is Login User 
ALTER LOGIN [Username] enable -- Enable or to Disable User
GO
MAX
fonte