捕获SQL Server连接

时间:2014-04-25 19:20:23

标签: sql sql-server tsql

在用户连接到我的数据库之前,有没有办法捕获SQL Server连接,直到用户断开连接。例如,我想捕获通过Excel访问我的SQL Server的每个用户的登录数据。是否有触发器或DMV可以捕获用户连接的时间?我过去使用过sysprocesses,它会告诉我连接和程序,但我需要它更像是一个触发器。

1 个答案:

答案 0 :(得分:1)

签出内置于sql server的auditing functions

也许您可以使用它来实现目标(您可以捕获成功并失败登录尝试)

添加信息

上面的这个网页特别是:登录审核 - 在sql 2005中引入

ADDED INFO PART DEUX

再次阅读您的问题,并且看到您希望持续时间不是(不仅仅是登录) - 稍微难一点,但是,请参阅reference for sp_trace_setevent。您应该在此处查看登录和注销事件。我听说捕获注销的服务器密集程度更高。此外,并非人们不总是 注销 。他们失去了连接,使机器崩溃等等,不确定注销数据的可信度。连接池也可能使你的生活复杂化。