SQL Profiler(SQL Server 2000),如何仅过滤我的活动?

15
我们有一个大型系统,同时有几百个用户使用,因此SQL Profiler提供了太多不必要的信息。我想查看在我的账户下运行了哪些SQL命令,并且只显示与我的账户相关的信息。这里的账户指的是我用来登录系统的用户名。这些用户名存储在一个常规的数据库表中,因此不能直接在SQL Profiler中输入任何过滤器,我猜测?但是每个登录的用户都可能有一些唯一的ID,即使我们所有人都使用相同的SQL登录/用户?
所以问题主要是如何获取该唯一值以及使用哪个过滤器?或者在SQL Profiler中是否有任何方法可以只查看此信息?
2个回答

23

您应该能够获取连接到SQL服务器的计算机的主机名。 在跟踪属性/事件部分选项卡中,勾选显示所有列选项,然后在列筛选器中可以指定HostName

如果想要知道您正在使用的计算机的主机名,则可以在命令提示符处键入hostname


嗨,这在SQL Server 2012中无法工作,你有任何想法吗?我只过滤了我的主机名...但似乎IIS服务器的主机名是在SQL Server分析器中调用的。 - japzdivino

3
每个连接到SQL Server的应用程序都有一个唯一的主机ID(由HOST_ID()函数返回的值),您可以根据此进行过滤。当然,首先您需要从应用程序连接到数据库,以获取您的主机ID。
主机ID也可以在sysprocesses系统表的hostprocess列中找到。在Profiler中,它被称为ClientProcessId

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接