如何找到谁在什么时候对数据库进行了查询?

How to find Who did some query on the database and when?

我有一个 SQL Server 2008 R2,里面有一个数据库。 如何找到执行的某个查询以及来自哪个IP?

我已尝试查看交易日志,但我什么也看不懂。

您应该使用 SQL Server Profiler。它通常默认安装 - 查看“开始”菜单上的 SQL 服务器文件夹。当你打开它时,开始一个新的跟踪和 select 数据库。在 Trace Properties 对话框中选择 TSQL 模板。然后,这将记录数据库中的所有查询 运行ning,以及许多其他内容。在这里追踪东西并不容易,但查找 BatchStarting 事件以找到 SQL 获得 运行。然后你应该 运行 数据库上的过程 sp_who2 这样你就可以将探查器中的 SPID 与登录匹配。