Sql-server – Login failed for user Error: 18456 State: 10

loginspermissionsSecuritysql serversql-server-2008-r2

In one of my vb.net applications I am getting the error Login failed for user 'user'.
But the user has full permission (sysadmin). Also this error happens intermittently.

Error log has the following:

Login failed for user 'user'. Reason: Failed to open the explicitly specified database. [CLIENT:
192.168.1.69]
Error: 18456, Severity: 14, State: 38.

Login
failed for user 'user'. Reason: Password validation failed with an
infrastructure error. Check for previous errors. [CLIENT:
192.168.1.61]

Error: 18456, Severity: 14, State: 10.

Login
failed for user 'user'. Reason: Password validation failed with an
infrastructure error. Check for previous errors. [CLIENT:
192.168.1.88]
Error: 18456, Severity: 14, State: 10.

I saw this article.

But in my case all database are set to autoclose OFF.

Also the user exist and has sysadmin permission.

Also KB #925744 is for SQL Server 2005 as mentioned in the article. But I am using SQL Server 2008 R2.

update:

I just saw this article. In that there was query to find ring buffer.In my case i got 0x139F as error code.when i run NET HELPMSG 5023 i got following.

The group or resource is not in the correct state to perform the requested operation.

What does this mean? Whether it will be reason for the error?

Best Answer

The state 38 error is probably a red herring: focus on the state 10 errors.

While KB Article #925744 says it is for SQL Server 2005, that is simply because of the date it was written. The symptom it causes would affect all versions of SQL Server that have been released since then in similar or identical ways.

Now, if user is a Windows login, perhaps you are somehow trying to authenticate as a Windows login without specifying the domain, or perhaps you are specifying the domain but the domain controller is unreliable or on an unreliable network connection. You should post your actual connection string in the question (fudging our real names/passwords of course).

You should also consider creating a new, separate login with the same permissions, and see if you intermittently get the same error with that other user as well - my guess this is an architectural problem in some way as opposed to a problem with just this user.

Another possibility is if your .net application is using Windows auth and the underlying password has been changed. Seems like a long shot, but check out the article and there is a hotfix available: KB Article #2545850.