Devi considerare l'applicazione web, o meglio il pool dove gira il sito web, come un processo che vuole accedere a SQL Server (non al database, ma all'istanza SQL).
Le credenziali che hai messo nella connection string servono per accedere ad un Database in una particolare istanza SQL, ma se non accedi all'istanza SQL è un bel casino ;-)

Devi fare questo:
Guarda l'utente con cui gira l'ApplicationPool:
Gestione IIS -> Pool di Applicazioni -> "poolCheTiInteressa" -> impostazioni avanzate -> identità

Come vedi nell'allegato, nel mio esempio l'application pool gira come "LocalSystem"
Benissimo, questo "utente" deve avere accesso all'istanza SQL:
Istanza SQL -> Sicurezza -> Account di accesso.

Ora puoi fare 2 cose:
Aggiungere l'identità usata dai Pool
cambiare l'identita del Pool con una che può accedere a SQl.

In genere l'identità usata nei Pool ha accesso limitato perché appunto è un processo internet e DEVE avere accessi limitati. Quindi di solito si mantiene questa nei Pool e si aggiunge a SQL.

Ciao