Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Accesso non riuscito per l'utente 'DOMAIN\MACHINENAME$'

NETWORK SERVICE e LocalSystem si autenticheranno sempre come account corrispondente localmente (incorporato\servizio di rete e integrato\sistema) ma entrambi si autenticheranno come account macchina in remoto.

Se vedi un errore come Login failed for user 'DOMAIN\MACHINENAME$' significa che un processo in esecuzione come SERVIZIO DI RETE o come LocalSystem ha avuto accesso a una risorsa remota, si è autenticato come account macchina e gli è stata negata l'autorizzazione.

Un tipico esempio potrebbe essere un'applicazione ASP in esecuzione in un pool di app impostato per utilizzare le credenziali NETWORK SERVICE e connettersi a un SQL Server remoto:il pool di app si autenticherà come macchina in esecuzione il pool di app ed è questo account macchina a cui è necessario concedere l'accesso.

Quando viene negato l'accesso a un account macchina, è necessario concedere l'accesso all'account macchina. Se il server rifiuta di accedere a 'DOMAIN\MACHINE$', è necessario concedere i diritti di accesso a 'DOMAIN\MACHINE$' e non a NETWORK SERVICE. Concedere l'accesso al SERVIZIO DI RETE consentirebbe un locale processo in esecuzione come SERVIZIO DI RETE per la connessione, non remoto, poiché quello remoto si autenticherà come, hai indovinato, DOMAIN\MACHINE$.

Se si prevede che l'applicazione asp si connetta all'SQL Server remoto come accesso SQL e si ottengono eccezioni su DOMAIN\MACHINE$, significa che si utilizza la sicurezza integrata nella stringa di connessione. Se questo è inaspettato, significa che hai rovinato le stringhe di connessione che usi.