以下异常将在以下内容中返回给我们的代码:
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 |下的数据库属性中选择了'Failed logins only'选项登录审核。然而,我们没有看到这个问题。
非常感谢任何帮助。
答案 0 :(得分:0)
您的连接字符串可能有问题。它不应该是代码中的变量,应该在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将无需记录任何内容。值得仔细检查^ _ ^
答案 1 :(得分:0)
登录失败的记录由AuditLevel
设置控制。
答案 2 :(得分:0)
由于两个主要问题,发生了此问题:
我们已修复1,问题数量大幅减少。我们正在重写从应用程序建立的连接(我在尝试实施修复时实际上问了另一个问题here)