none
SET FMTONLY ON ---经常出现死锁 RRS feed

  • 问题

  • 用“事件探察器”时,发现有这样一句: SET FMTONLY ON select * from tb where id='1' SET FMTONLY OFF 注: “select * from tb where id='1'  ”此语句经常被调用 偶尔会有“SET FMTONLY ...” 资料上讲: FMTONLY 打开时只显示元数据,没有行返回 请问: 系统为什么会在 我的语句(select * from tb where id='1' )前加这句话? 根开发小组讨论,没有发现程序代码里面有 SET FMTONLY ON  ,SET FMTONLY OFF  这样的语句出现,请问大家怎么能找出相应的原因?
    星光总能为我指引方向
    2011年6月27日 10:09

答案

  • Client side can set those connection options when connecting to sql, but that set option shouldn't cause deadlock. You can enable deadlock trace flag 1204 to find details.

    2011年6月28日 13:31
  • HI 你们好这个我也不太清楚是否有第三方的ORM组件.我只是负责服务器,我是不是应该找的这些开发人员,让他们去解决这个问题,以至于我在Profiler 里面不会在跟踪察看到此相应的SET FMTONLY ON  ,SET FMTONLY OFF  对于搂住谈起deadlock trace flag 1204 to find details. 我不太明白意思.更更好的解释马,谢谢
    星光总能为我指引方向
    Take look 'Detecting and Ending Deadlocks' in books online, you can find details there.
    2011年7月1日 13:06

全部回复

  • How do you run your select statement?
    2011年6月27日 13:00
  • 我是从profile 中看到的,把相应T_SQL 拿出来给NT代码人员检查说没有SET FMTONLY ON  ,SET FMTONLY OFF  为什么我会看到呢


    星光总能为我指引方向
    2011年6月28日 6:57
  • Client side can set those connection options when connecting to sql, but that set option shouldn't cause deadlock. You can enable deadlock trace flag 1204 to find details.

    2011年6月28日 13:31
  • 建议你检查一下是否使用了第三方的ORM组件。某些组件会通过这个方式去获取表结构的。

     

     


    family as water
    2011年6月29日 2:48
  • HI 你们好这个我也不太清楚是否有第三方的ORM组件.我只是负责服务器,我是不是应该找的这些开发人员,让他们去解决这个问题,以至于我在Profiler 里面不会在跟踪察看到此相应的SET FMTONLY ON  ,SET FMTONLY OFF  对于搂住谈起deadlock trace flag 1204 to find details. 我不太明白意思.更更好的解释马,谢谢
    星光总能为我指引方向
    2011年7月1日 6:51
  • 你好,

    正如你所说,将 SET FMTONLY 设置更改为 ON,并执行 SELECT 语句,只返回列信息,而不返回数据行。我建议你用动态管理试图Sys.dm_exec_connections去查看所有的与SQL Server 实例建立的连接有关的信息。请参阅:
    sys.dm_exec_connections (Transact-SQL)
    http://msdn.microsoft.com/zh-cn/library/ms181509.aspx

    谢谢,
    邱爱华


    Ai-hua Qiu
    2011年7月1日 7:33
  • HI 你们好这个我也不太清楚是否有第三方的ORM组件.我只是负责服务器,我是不是应该找的这些开发人员,让他们去解决这个问题,以至于我在Profiler 里面不会在跟踪察看到此相应的SET FMTONLY ON  ,SET FMTONLY OFF  对于搂住谈起deadlock trace flag 1204 to find details. 我不太明白意思.更更好的解释马,谢谢
    星光总能为我指引方向
    Take look 'Detecting and Ending Deadlocks' in books online, you can find details there.
    2011年7月1日 13:06