记录SQL Server密码更改

时间:2009-04-18 14:14:12

标签: sql-server security windows-xp passwords password-protection

我最近有一个不幸的事件。我托管了一个业务合作伙伴的SQLServer 2005服务器,并且“sa”密码被神秘地改变了(没有人想对此负责)。所以我想知道,有没有办法配置SQL Server 2005来记录所有密码更改?

我知道可以使用Windows Server 2003,Windows Server 2008或类似版本实现。但问题是,我在Windows XP Pro上运行(我知道我不应该这样做,但我的业务合作伙伴声称她没有预算购买完整的Windows Server操作系统)。

非常感谢!

3 个答案:

答案 0 :(得分:1)

一些想法......

  1. 使用SQL事件探查器,Audit Login Change Password Event Class
  2. DDL triggers,指定ALTER USER DDL event
  3. 重命名“sa”,创建一个虚拟的“sa”帐户
  4. 任何有权更改sa密码的人都可以通过

    撤消或关闭任何审核

答案 1 :(得分:0)

第二次丢失数据后,他们是否有足够的资金从头开始重新创建数据库?说真的,你应该只是Windows事件查看器来查看上次访问。 SA通常会在安全日志中显示一个事件。

答案 2 :(得分:0)

gbn有正确的想法

研究同一主题我发现了Aaron Bertrand写的一个很好的例子 基本上你需要使用AUDIT_LOGIN_CHANGE_PASSWORD_EVENT参数创建一个事件

CREATE EVENT NOTIFICATION PasswordChangeNotification
    ON SERVER WITH FAN_IN
    FOR AUDIT_LOGIN_CHANGE_PASSWORD_EVENT
    TO SERVICE 'PasswordChangeService', 'current database';
GO

你可以在这里找到他的例子 http://www.mssqltips.com/sqlservertip/2708/tracking-login-password-changes-in-sql-server/