一、登录审核(login auditing)
在 SQL Server 中配置登录审核,可以监视所有的登录 SQL Server 数据库引擎的活动。
可以将登录审核配置为在发生以下事件时向Windows日志中写入信息。
(1)登录失败。仅审核未成功的登录(事件ID=18456)。这是SQL Server的默认配置。
(2)登录成功。仅审核成功的登录(事件ID=18453,或者事件ID=18454)。
(3)失败和成功的登录。审核所有登录尝试。
二、配置登录审核
在 SQL Server Management Studio 中,使用对象资源管理器连接至 SQL Server 数据库引擎实例。在对象资源管理器中,右键单击服务器名称,再单击“属性”。
在“安全性”页上的“登录审核”下,单击所需选项,然后关闭“服务器属性”页。
必须重新启动 SQL Server服务(实例),此选项才能生效。
三、查看登录审核
1. 使用事件查看器
登录审核的记录会保存在Windows的事件里。打开“事件查看器”、“Windows日志”、“应用程序”,可以看到登录审核的记录。
2. 事件代码
下例是登录成功的事件。
事件代码可能有很多种,详见http://technet.microsoft.com/zh-cn/library/cc645934(v=sql.105).aspx
示例如下:
(1) ID=18451
用户 'PC2012\Administrator' 登录失败。目前只有管理员才能连接。 [客户端: 192.168.159.1]
(2) ID=18452
登录失败。该登录名来自不受信任的域,不能与 Windows 身份验证一起使用。 [客户端: 192.168.159.1]
(3) ID=18453
用户 'PC2012\Administrator' 登录成功。使用 Windows 身份验证建立了连接。 [客户端: <local machine>]
(4) ID=18454
用户 'sa' 登录成功。使用 SQL Server 身份验证建立了连接。 [客户端: <local machine>]
(5) ID=18456
用户 'sa' 登录失败。 原因: 密码与所提供的登录名不匹配。 [客户端: 192.168.159.1]
(6) ID=18456
用户 'abc' 登录失败。 原因: 尝试使用 SQL 身份验证登录失败。服务器配置为仅使用 Windows 身份验证。 [客户端: <local machine>]