【发布时间】:2009-12-08 14:48:11
【问题描述】:
我正在寻找最简单的方法来查看哪些用户正在登录我的数据库。我们有一些可能不再使用的旧用户帐户。我认为可能有一些方法可以监控谁登录并在接下来的一个月左右运行某种类型的查询,而不是仅仅关闭它们并查看谁在抱怨。监控和跟踪此类活动的最简单方法是什么?
编辑: 我想对服务器上的所有数据库执行此操作。
【问题讨论】:
标签: sql-server sql-server-2005 security logging user-accounts
我正在寻找最简单的方法来查看哪些用户正在登录我的数据库。我们有一些可能不再使用的旧用户帐户。我认为可能有一些方法可以监控谁登录并在接下来的一个月左右运行某种类型的查询,而不是仅仅关闭它们并查看谁在抱怨。监控和跟踪此类活动的最简单方法是什么?
编辑: 我想对服务器上的所有数据库执行此操作。
【问题讨论】:
标签: sql-server sql-server-2005 security logging user-accounts
要查看谁在连接,您可以使用Logon Triggers,它允许您登录访问。如果您进行故障转移、重新启动 SQL 等操作,运行一两个月的跟踪以审核登录事件可能根本无法正常工作
但是,要查看某人在连接后在做什么,那么您真的必须像 Mitch 所说的那样使用 Profiler
【讨论】:
在选择Audit Login event 的情况下运行分析器跟踪:或者只选择标准跟踪模板(并且可能限制跟踪大小)。
【讨论】:
最简单的方法是使用自定义编写的第三方工具来为您完成工作。否则,您必须对(不是 SQL Profiler 而是)跟踪大惊小怪,定期加载结果数据并对其进行处理,而且对我而言,这不是一件“容易”的事情。
帮助不大。我发帖的原因是,仅仅因为某人(或某事)一天、一周或一个月没有登录,并不意味着该帐户已被废弃——我只会将其视为一个迹象。我建议,一旦您将其识别为可能被遗弃,然后您禁用它,看看会发生什么。在实际删除之前给它一个月、一个季度甚至一年(取决于您的系统)。
(当然,在一个月/季度/年度内跟踪该信息更加麻烦和麻烦。理想情况下,所有帐户都使用停用/删除规则创建,并且他们的用户/所有者被告知他们获得的规则访问系统。现在这可能对您没有帮助,但在您设计的下一个系统时请记住它。)
【讨论】: