Login failed for user even though it has read access I have a SharePoint server which is using service account "spsharepoint".

For some reason this user has started giving 'Login failed for user DOMAIN\spsharepoint' when I checked SQL Server logs. Turns out it is trying to access 'master' database on which it doesn't have access so the error.

I gave read only access to this user on master database but error is still coming. What could be the issue and how do I fix this?
Verify if your user has permision to connect to database Engine. 
Right click on Logins -> Properties -> Status. 

Or grant CONNECT for user. 

CREATE LOGIN [mydomain\mygroup] FROM WINDOWS;
GRANT CONNECT SQL TO [mydomain\mygroup]