用户登录失败 - 错误 18456 - 严重性 14,状态 38

Pet*_*key 24 sql-server errors logins

SQL Server 日志文件查看器显示的消息:

Login failed for user [User]
Error: 18456, Severity: 14, State 38
Run Code Online (Sandbox Code Playgroud)

它实际上意味着什么:

Failed to open the explicitly specified database
Run Code Online (Sandbox Code Playgroud)

我的问题:

对于严重性和状态的每种组合,是否有 18456 错误(登录失败)的所有变体的列表,以及有用的描述文本?

我有一个谷歌,但除了特定的组合之外找不到任何东西。

Pet*_*key 26

状态代码及其含义。

1      'Account is locked out'
2      'User id is not valid'
3-4    'Undocumented'
5      'User id is not valid'
6      'Undocumented'
7      'The login being used is disabled'
8      'Incorrect password'
9      'Invalid password'
10     'Related to a SQL login being bound to Windows domain password policy enforcement.
        See KB925744.'
11-12  'Login valid but server access failed'
16     'Login valid, but not permissioned to use the target database'
18     'Password expired'
27     'Initial database could not be found'
38     'Login valid but database unavailable (or login not permissioned)'
Run Code Online (Sandbox Code Playgroud)

Aaron Bertrand 的博客中提供了更多详细信息。

要查找状态代码,您需要在确保错误日志中记录了失败的登录检查 SQL Server 错误日志


Rob*_*man 5

由于连接字符串中数据库名称的拼写错误,我遇到了与状态代码 38 相同的错误。