SQL Server连接尝试日志记录在哪里?

70

SQL Server是否有一个外部日志文件或内部表格来记录尝试连接的信息,或者这种信息是放在Windows事件日志中的?


1
连接失败会在 SQL Server 日志中显示。 - Martin Smith
3个回答

87

您可以启用连接日志记录。对于SQL Server 2008,您可以启用登录审核。在SQL Server Management Studio中,打开SQL Server属性>安全性>登录审核选择"Both failed and successful logins"。

请确保重新启动SQL Server服务。

完成上述步骤后,连接尝试将被记录到SQL的错误日志中。物理日志位置可以在此处确定。


33

另一种检查连接尝试的方法是查看服务器的事件日志。在我的Windows 2008 R2 Enterprise机器上,我打开了服务器管理器(右键单击“计算机”并选择“管理”。然后选择诊断->事件查看器->Windows日志->应用程序)。 您可以过滤日志以隔离MSSQLSERVER事件。 我找到了一些类似于这样的内容

登录失败,用户“bogus”与受信任的SQL Server连接没有关联。 [客户端:10.12.3.126]


2
这使我能够在不必重新启动MSSQL服务器的情况下找到错误详细信息。谢谢。 - mOrloff
很高兴能够帮助。操作系统通常会在系统日志中记录有用的信息;Windows、Linux、UNIX等都是如此。 - DDay
如果我可以为你的答案提供更多的赞,我肯定会这样做。通过检查事件查看器,我得到了有关登录失败原因的详细信息。 - g3rv4
g3rv4,这是你想要的。虽然这没有帮助到我,但我还是给了你想要的额外点赞 :) - SteveCav
它是否提供成功连接的详细信息? - The Godfather
根据此页面,它似乎记录了成功和失败的连接尝试。https://solutioncenter.apexsql.com/analyze-and-read-sql-server-audit-information/ - DDay

4
如果您只想跟踪登录失败的情况,可以使用SQL Server审计功能(仅适用于SQL Server 2008及以上版本)。您需要添加要审计的SQL服务器实例,并检查要审计的失败登录操作。
注意:通过SQL Server审计跟踪失败的登录有其劣势。例如 - 它不提供所使用的客户端应用程序的名称。
如果您想在每个失败的登录中审核客户端应用程序名称,则可以使用扩展事件会话。
为了帮助您入门,我建议阅读这篇文章:http://www.sqlshack.com/using-extended-events-review-sql-server-failed-logins/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接