sql profiler使用

madling_dev 2017-11-21 02:55:02
1 比如服务器 S 上有三个数据库 DB1, DB2, DB3 ,下面有客户端 PC1, PC2, PC3,
怎么在 服务器 S 上使用 sql profiler 跟踪指定客户端, 如 PC1 。
...全文
241 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
听雨停了 2017-11-23
  • 打赏
  • 举报
回复
引用 12 楼 madling_dev 的回复:
额,程序的确用了很多年了,可能就像你说的,前端驱动太老了。 想问下各位大神,用spid为啥不行呢,只是每次打开程序的时候会重新分配一个spid,只要前端PC打开程序之后,我就一直跟踪那个spid不可以吗? 上面有说在跟踪界面看spid的,可不可以在前端打开程序之后,在服务器上获取到这个spid,然后把spid填进去再进行跟踪呢?
并不是一个程序启动后就固定了一个spid,你要明白的是没连接一次数据库,就会产生一个spid,当你的程序做完一个select,或者insert。。。程序里肯定是会立马就断开与数据库的连接,当你需要再查询或者插入的时候,又一次连接数据库,这时候产生的spid又不一样了,因此也就不能直接跟踪一个spid。这也是为什么跟踪的列选择项中只有spid大于等于,或者小于等于多少,并没有等于的选项
madling_dev 2017-11-23
  • 打赏
  • 举报
回复
额,程序的确用了很多年了,可能就像你说的,前端驱动太老了。 想问下各位大神,用spid为啥不行呢,只是每次打开程序的时候会重新分配一个spid,只要前端PC打开程序之后,我就一直跟踪那个spid不可以吗? 上面有说在跟踪界面看spid的,可不可以在前端打开程序之后,在服务器上获取到这个spid,然后把spid填进去再进行跟踪呢?
OwenZeng_DBA 2017-11-21
  • 打赏
  • 举报
回复
引用 9 楼 madling_dev 的回复:
[quote=引用 8 楼 z10843087 的回复:] [quote=引用 7 楼 madling_dev的回复:] 刚刚试了下,用计算机名过滤,还是有很多不需要到信息会显示出来,想请教下大神,在用sql profiler 的时候,怎么才能指定唯一客户端上的唯一应用程序。 我在服务器本机进行跟踪一般都用pid,好像这个是可以唯一指定的。
可以对应用程序名进行过滤[/quote] 应用程序名为空。。。[/quote] 这个应用程序名为空,可能是你前端驱动太老了,或者你程序做了特殊的设置,你可以查询原因。不过你一个PC上面只有一个程序的话,就用hostname就能满足需求了啊
听雨停了 2017-11-21
  • 打赏
  • 举报
回复
引用 9 楼 madling_dev 的回复:
[quote=引用 8 楼 z10843087 的回复:] [quote=引用 7 楼 madling_dev的回复:] 刚刚试了下,用计算机名过滤,还是有很多不需要到信息会显示出来,想请教下大神,在用sql profiler 的时候,怎么才能指定唯一客户端上的唯一应用程序。 我在服务器本机进行跟踪一般都用pid,好像这个是可以唯一指定的。
可以对应用程序名进行过滤[/quote] 应用程序名为空。。。[/quote] 上面给你截图了啊,就用那个过滤掉应用程序名称
madling_dev 2017-11-21
  • 打赏
  • 举报
回复
引用 8 楼 z10843087 的回复:
[quote=引用 7 楼 madling_dev的回复:] 刚刚试了下,用计算机名过滤,还是有很多不需要到信息会显示出来,想请教下大神,在用sql profiler 的时候,怎么才能指定唯一客户端上的唯一应用程序。
我在服务器本机进行跟踪一般都用pid,好像这个是可以唯一指定的。

可以对应用程序名进行过滤[/quote]


应用程序名为空。。。
OwenZeng_DBA 2017-11-21
  • 打赏
  • 举报
回复
引用 7 楼 madling_dev的回复:
刚刚试了下,用计算机名过滤,还是有很多不需要到信息会显示出来,想请教下大神,在用sql profiler 的时候,怎么才能指定唯一客户端上的唯一应用程序。 我在服务器本机进行跟踪一般都用pid,好像这个是可以唯一指定的。
可以对应用程序名进行过滤
madling_dev 2017-11-21
  • 打赏
  • 举报
回复
刚刚试了下,用计算机名过滤,还是有很多不需要到信息会显示出来,想请教下大神,在用sql profiler 的时候,怎么才能指定唯一客户端上的唯一应用程序。 我在服务器本机进行跟踪一般都用pid,好像这个是可以唯一指定的。
听雨停了 2017-11-21
  • 打赏
  • 举报
回复
引用 2 楼 madling_dev 的回复:
[quote=引用 1 楼 qq_37170555 的回复:]
[quote=引用 楼主 madling_dev 的回复:]
1 比如服务器 S 上有三个数据库 DB1, DB2, DB3 ,下面有客户端 PC1, PC2, PC3,
怎么在 服务器 S 上使用 sql profiler 跟踪指定客户端, 如 PC1 。


打开sql profiler应该知道吧,打开后连接服务器后就会出现以上图片的界面,按照步骤执行就可以,第三步的时候输入的是完整的电脑名[/quote]

恩,好像指定 spid也可以吧,想问下大神,怎么查询到服务器为客户端分配的spid号呢。因为客户端可能同时会打开多个应用程序。[/quote]
如果你是要像指定电脑名一样指定这个spid号那是不行的,但是你可以指定应用程序名称,就跟刚才指定电脑名一样
吉普赛的歌 版主 2017-11-21
  • 打赏
  • 举报
回复
spid 是不行的了, 这个东西不固定
吉普赛的歌 版主 2017-11-21
  • 打赏
  • 举报
回复
如果它们分配的 loginame 不同的话, 可以用 loginame 来筛选
听雨停了 2017-11-21
  • 打赏
  • 举报
回复
引用 2 楼 madling_dev 的回复:
[quote=引用 1 楼 qq_37170555 的回复:]
[quote=引用 楼主 madling_dev 的回复:]
1 比如服务器 S 上有三个数据库 DB1, DB2, DB3 ,下面有客户端 PC1, PC2, PC3,
怎么在 服务器 S 上使用 sql profiler 跟踪指定客户端, 如 PC1 。


打开sql profiler应该知道吧,打开后连接服务器后就会出现以上图片的界面,按照步骤执行就可以,第三步的时候输入的是完整的电脑名[/quote]

恩,好像指定 spid也可以吧,想问下大神,怎么查询到服务器为客户端分配的spid号呢。因为客户端可能同时会打开多个应用程序。[/quote]

显示所有列,然后当你选中事件的时候看看后面的spid这一列有没有勾上,勾上了就可以了,然后你运行后就会有spid那一列了,也就知道sqlserver给分配的spid是多少了
madling_dev 2017-11-21
  • 打赏
  • 举报
回复
引用 1 楼 qq_37170555 的回复:
[quote=引用 楼主 madling_dev 的回复:] 1 比如服务器 S 上有三个数据库 DB1, DB2, DB3 ,下面有客户端 PC1, PC2, PC3, 怎么在 服务器 S 上使用 sql profiler 跟踪指定客户端, 如 PC1 。
打开sql profiler应该知道吧,打开后连接服务器后就会出现以上图片的界面,按照步骤执行就可以,第三步的时候输入的是完整的电脑名[/quote] 恩,好像指定 spid也可以吧,想问下大神,怎么查询到服务器为客户端分配的spid号呢。因为客户端可能同时会打开多个应用程序。
听雨停了 2017-11-21
  • 打赏
  • 举报
回复
引用 楼主 madling_dev 的回复:
1 比如服务器 S 上有三个数据库 DB1, DB2, DB3 ,下面有客户端 PC1, PC2, PC3,
怎么在 服务器 S 上使用 sql profiler 跟踪指定客户端, 如 PC1 。


打开sql profiler应该知道吧,打开后连接服务器后就会出现以上图片的界面,按照步骤执行就可以,第三步的时候输入的是完整的电脑名

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧