SQL Server 2012 Não é possível efetuar login com a conta da máquina


11

Estamos migrando um site IIS / SQL Server de 2008 para 2012 e estou tendo um problema com a autenticação. Usamos a Autenticação do Windows para autenticar como DOMAIN\COMPUTER$, mas isso não está funcionando, fornecendo um erro dizendo:

Falha no login do usuário 'DOMAIN \ COMPUTER $'. Motivo: não foi possível encontrar um login correspondente ao nome fornecido. [CLIENTE: <máquina local>]

Eu verifiquei que a conta existe e até a excluí e a recriei

create login "DOMAIN\COMPUTER$" from windows

Se eu fizer novamente, recebo a resposta:

Msg 15025, Nível 16, Estado 2, Linha 1
O principal do servidor 'DOMAIN \ COMPUTER $' já existe.

( DOMAIN\COMPUTERsubstitui o domínio real e o nome do computador)

Portanto, parece que o site está consultando o SQL Server, mas o SQL Server não está olhando muito para seus logins.

O que eu perdi?

Respostas:


6

É mais provável que não o domínio \ computador de US $ em tudo. Esta mensagem é conhecida por ser enganosa. Acho que tudo o que queremos é que "NT AUTHORITY \ NETWORK SERVICE" tenha acesso ao servidor. Abra as propriedades de logon do SQL Server e adicione esta conta. Além disso, verifique qual usuário é usado no IIS para representar um usuário anônimo. Deve ser algo como "IUSR_ServerName". Conceda acesso a esse usuário também


1
"NT AUTHORITY \ NETWORK SERVICE" já tem acesso ao servidor. O IIS está se passando por "IUSR" (sem _ServerName). Pelo que eu sabia, essa não é uma conta real - e não posso conceder acesso a "DOMAIN \ IUSR" ou "DOMAIN \ IUSR", pois essas contas não existem.
alt

Isso funcionou para mim para um serviço do Windows
user919426

Após uma longa manhã de batalha com o Copy Database Wizard e o SQL Export-Import wizard, essa é a única resposta que o fez funcionar. Obrigado!
Zalakain

6

Tanto o @cha quanto o @alt têm pistas corretas - a mensagem de erro é enganosa e Application Pool Identityestá envolvida (bem, pelo menos foi no meu caso).

Se o pool de aplicativos do seu aplicativo IIS usar Application Pool Identity, a conta do usuário que você precisa adicionar ao SQL Server é IIS APPPOOL\your_app_pool_name. Nota: não use o Search...botão em Propriedades de login para encontrar esse usuário - ele o encontrará, mas o substituirá pelo MACHINE_NAME\your_app_pool_nameque não funcionará - apenas digite IIS APPPOOL\your_app_pool_namecomo o nome de login.


1
Funciona apenas quando o servidor web e o servidor sql estão na mesma caixa.
Maxisam # 20/18

1
Claro, as contas de identidade do pool de aplicativos são locais na máquina AFAIK, portanto você não pode usá-las em outras máquinas. Basta usar a autenticação do SQL Server nesse caso ou executar o aplicativo Web em uma conta de domínio.
Jakub Januszkiewicz 22/03

3

Esse problema deve ser tratado de maneira diferente, dependendo da configuração do servidor.

  1. Os servidores SQL e IIS estão na mesma máquina.

    uma. altere a identidade do pool de aplicativos paraNetwork Service

    b. adicione NT AUTHORITY\NETWORK SERVICEao seu logon do SQL Server

  2. Os servidores SQL e IIS estão em máquinas diferentes.

    uma. adicione uma conta de máquina,, DOMAIN\computer-name$ao seu login no servidor SQL.

    b. a identidade do pool de aplicativos permaneceApplication Pool Identity


1

Consegui fazê-lo funcionar, alterando o site no IIS para usar o e Application Pool Identity, em seguida, alterando a Identidade do pool de aplicativos para Network Service. Sinta-se livre para comentar sobre quaisquer problemas de segurança que isso possa trazer.


Por que não usar um usuário de domínio para o pool de aplicativos, pois você possui o AD ou ainda melhor uma conta de serviço gerenciada?
Spörri

0

Eu estava recebendo o mesmo erro. Erro de logon: 18456, Gravidade: 14, Estado: 5. A desativação do CEIP do Relatório de erros e uso do SQL Server resolveu o problema para mim.


1
Você poderia elaborar um pouco sua resposta? Você pode citar algum recurso relevante? Sua resposta apareceu como de baixa qualidade por causa de seu tamanho e conteúdo e pode ser excluída por causa disso.
John aka hot2use
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.