SQL Server Profiler - 如何查找正在连接的数据库?

19

我已经谷歌过了,但没有成功。我正在使用 SQL Server Profiler 用于 SQL Server 2008 R2,并确保对于跟踪的“事件选择”:

  • 我报告了安全审计 > 审计登录 + 审计注销的所有列
  • 我报告了会话 > ExistingConnection 的所有列

然后,在加载 .aspx 页面之后,但在执行调用特定 SQL 存储过程的操作之前,我开始跟踪。

然后,我可以看到在我的跟踪开始时,在“EventClass”列下有“ExistingConnection”,但是这些事件的“TextData”似乎没有确定我连接到的数据库,而是告诉我主要数据库设置(例如,设置 ansi_padding on)。对于某些事件,我还可以看到“NTUserName”,这给了我一些线索。不过,我想找到的是我连接到哪个数据库。我该如何确定这一点?

3个回答

31

当您使用SQL Server Profiler创建新的跟踪时,会显示一个标题为“跟踪属性”的对话框。

在右下方,您应该看到一个名为“显示所有列”的复选框。勾选它。现在向左滚动表格,您应该会看到一个名为“数据库名称”的复选框。勾选它,然后开始跟踪!

TraceProperties dialog


1
谢谢!我以为“显示所有列”会选择跟踪中的所有列进行显示。 - Chris Halcrow
@ChrisHalcrow - 很高兴能够帮助! - STLDev
顺便提一下,在 SQL Server 2014 中,“显示所有列”在右下角。 - Adam

3

在Trace属性->事件选择选项卡中,您可以显示数据库列。默认情况下,它不会显示。


1
每个跟踪的数据库名称可以通过事件选择找到 ->(选择)显示所有列 ->(如果您正在跟踪存储过程,则在存储过程下检查数据库名称列并检查它。)。 图片说明

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