Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Falha no login do usuário 'DOMAIN\MACHINENAME$'


O NETWORK SERVICE e o LocalSystem se autenticarão sempre como a conta correspondente localmente (builtin\network service e builtin\system), mas ambos serão autenticados remotamente como a conta da máquina.

Se você vir uma falha como Login failed for user 'DOMAIN\MACHINENAME$' significa que um processo executado como NETWORK SERVICE ou como LocalSystem acessou um recurso remoto, autenticou-se como a conta da máquina e teve sua autorização negada.

Um exemplo típico seria um aplicativo ASP executado em um pool de aplicativos definido para usar a credencial NETWORK SERVICE e se conectar a um SQL Server remoto:o pool de aplicativos será autenticado como a máquina executando o pool de aplicativos e é essa conta de máquina que precisa receber acesso.

Quando o acesso é negado a uma conta de máquina, o acesso deve ser concedido à conta de máquina. Se o servidor se recusar a fazer login em 'DOMAIN\MACHINE$', você deve conceder direitos de login a 'DOMAIN\MACHINE$' e não a NETWORK SERVICE. Conceder acesso ao NETWORK SERVICE permitiria um local processo rodando como NETWORK SERVICE para conectar, não um remoto, já que o remoto será autenticado como, você adivinhou, DOMAIN\MACHINE$.

Se você espera que o aplicativo asp se conecte ao SQL Server remoto como um logon SQL e você obtém exceções sobre DOMAIN\MACHINE$, isso significa que você usa a Segurança Integrada na cadeia de conexão. Se isso for inesperado, significa que você estragou as strings de conexão que você usa.