Errore di accesso a SQL Server: accesso non riuscito per l’utente ‘NT AUTHORITY \ SYSTEM’

Ho creato un pool di applicazioni chiamato “schoolPool” e l’ho assegnato alla mia applicazione web. L’identity framework per questo pool è stata impostata su LocalSystem. Quando provo ad accedere al mio database dall’interno dell’applicazione, ovvero ad aprire una connessione SQL, ottengo sempre il seguente errore:

Login failed for user 'NT AUTHORITY\SYSTEM' 

Ho provato ad aggiungere NT AUTHORITY / SYSTEM agli accessi SSMS (SQL Server Management Studio), ma era già un principal, mostrando il seguente errore:
inserisci la descrizione dell'immagine qui

Consenti NT AUTHORITY / SYSTEM al ruolo del server come amministratore di sistema. inserisci la descrizione dell'immagine qui

inserisci la descrizione dell'immagine qui

Ho ottimizzato molto le impostazioni dell’applicazione, modificando l’identity framework del pool di applicazioni (in IIS di Windows 8.1) in LocalSystem, LocalService, NetworkService e ApplicationPoolIdentity. Tuttavia, tutti loro non sono riusciti a risolvere il problema che ho avuto l’accesso al mio database.
Alla fine ho impostato l’id quadro del pool su LocalSystem e ho pensato perché potrebbe impedire a “NT AUTHRITY \ SYSTEM” di aprire una connessione al mio database. Ho aperto SQL Server Management Studio come utente “Amministratore” e ho controllato i ruoli del server per NT AUTHORITY \ SYSTEM nella sezione “accessi”. Il ruolo predefinito del server per questo utente era pubblico per impostazione predefinita. Ho anche controllato sysadmin e ho aggiornato il mio modulo di richiesta web. Questa volta è stato un successo. Ottimo lavoro!

La risposta di Musakkhir sulla concessione di sysadmin sembra scarsamente ponderata per quanto riguarda la sicurezza, e la risposta di Pinal implicata nel dare il processo sconosciuto ai diritti di proprietario di db_owner, è quasi sicuramente esagerata. L’ho “risolto” io stesso semplicemente concedendo i diritti “pubblici”, che normalmente consentono solo CONNECT, ma nient’altro, anche SELECT. Se si elimina l’errore di accesso e si interrompe l’inondazione del log degli errori, dal momento che ora effettua l’accesso, ma qualsiasi processo sconosciuto sta facendo il collegamento non può ancora fare nulla.

Riesegui la query che assegna ‘NT SERVICE \ MSSQLSERVER’ a sysadmin

 EXEC master..sp_addsrvrolemember @loginame = N'NT SERVICE\MSSQLSERVER', @rolename = N'sysadmin'