SQL Server的“登录失败,用户不会记录在错误日志

问题描述:

以下过程中出现如下异常返回到我们的代码:SQL Server的“登录失败,用户不会记录在错误日志

m_cnn = new SqlConnection(); 
m_cnn.ConnectionString = sxCnn; 
m_cnn.Open(); 

---异常信息---

Exception: in OpenEx. 
Msg=OpenEx failed. 
Errors: Index #0 
Message: Login failed for user 'xyz'. 
LineNumber: 65536 
Source: .Net SqlClient Data Provider 
Procedure: 
Number: 18456 
State: 1 

我遇到的问题是,我无法在SQL错误日志中查找此条目以查找状态。例如,我们在今天上午11点43分看到这个例外情况,当我进入日志时,那时没有条目。

我们需要做什么才能启用此日志记录?我们在Security |下的数据库属性中选择了'仅失败登录'选项登录审核。然而,我们没有看到这个问题。

任何帮助,非常感谢。

+0

您正在使用Windows身份验证还是混合使用?如果是Windows,请尝试检查Windows安全日志。 – 2011-01-23 01:41:09

这个问题是存在的,因为两个主要问题:

  1. 我们的网络上有几个开关是坏
  2. 我们正在并发连接的淫秽量数据库

我们已经修复了1,问题的数量急剧减少。我们正在重写从应用程序进行的连接(我实际上在尝试执行修复时询问了另一个问题here

您的连接字符串可能有问题。它不应该是代码中的变量,它应该在你的web.config中设置并从那里拉出。下面是我在web.config中:

<connectionStrings> 
    <add name="MyConnectionString" connectionString="Data Source=MYSQL1;Initial Catalog=MyDATABASE;User ID=dummyUser;Password=dummyPW" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

,这里是我把它从代码:

mcnn.ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 

而且,如果有拼写错误,或者如果你失去了一些东西,在连接字符串中,您将无法访问数据库以尝试登录.sql将无法记录。可能值得双重检查^ _^

+0

连接字符串不是问题,因为它工作99%的时间,并且连接字符串不会更改。此登录失败问题在我们的网络上随机发生。 – AboutDev 2011-01-20 20:20:23

+0

99%的时间,并随机发生?它应该工作,或者不工作。我的猜测是你的程序没有到达你的数据库。 – 2011-01-20 20:22:43

登录失败的记录由AuditLevel设置控制。