c*******t 发帖数: 55 | 1 请教zenny、Assailant等牛人,
使用profiler观察SQL Server时经常发现一些"Full Scan"的操作,
在Profiler里面只能记录DatabaseName,ObjectID等信息,却不能
记录TextData来确定究竟是哪个SQL语句进行的Full Scan操作,
不知道各位大cow能不能给兄弟指点一二,兄弟多谢了。 | c*****d 发帖数: 6045 | 2 oracle里可以用一个语句实现
在v$sql_plan中
operation='TABLE ACCESS'
options = 'FULL' | c*****d 发帖数: 6045 | 3 对sql server知道的不多
不知道解决这个问题的简单方法
不过你既然知道ObjectID查询sys.all_objects可以知道object name
在通过查询dm_exec_sql_text
找到所有对这个Object操作的sql语句
select t.[text] from sys.dm_exec_query_stats s
cross apply sys.dm_exec_sql_text (s.sql_handle) t
where t.[text] like '%replace_with_object_name%' | a*******t 发帖数: 891 | 4 ft... coolbid, Beijing, zenny and some other IDs are 牛人. Assailant doesn't
belong in the same sentence.
anyway, profiler should have SPID, so you can do sp_who or sp_who2, and dbcc
inputbuffer(spid) to see what is the query.
【在 c*******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 请教zenny、Assailant等牛人, : 使用profiler观察SQL Server时经常发现一些"Full Scan"的操作, : 在Profiler里面只能记录DatabaseName,ObjectID等信息,却不能 : 记录TextData来确定究竟是哪个SQL语句进行的Full Scan操作, : 不知道各位大cow能不能给兄弟指点一二,兄弟多谢了。
| B*****g 发帖数: 34098 | 5 没有我,在oracle论坛混了几个星期才知道自己连sql都写不好。
't
dbcc
【在 a*******t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : ft... coolbid, Beijing, zenny and some other IDs are 牛人. Assailant doesn't : belong in the same sentence. : anyway, profiler should have SPID, so you can do sp_who or sp_who2, and dbcc : inputbuffer(spid) to see what is the query.
| p********l 发帖数: 279 | 6 Did you catch "ShowPlan XML" event? If yes, you can check it out there. | c*******t 发帖数: 55 | | z***y 发帖数: 7151 | 8 You can use profiler to catch the table scan, the event you want to use is
SCAN, for column you choose databaseId and SPID.
With SPID you then can use the DMV:
select p.query_plan,r.session_id, t.text from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text (r.sql_handle) t
outer apply sys.dm_exec_query_plan(r.sql_handle) p
where r.session_id = {the SPID value you got from profiler) |
|