IDBCommand.ExecuteReader()未获取SQL Server跟踪标志

时间:2018-11-30 19:06:51

标签: c# .net sql-server executereader idatareader

我正在运行一个长查询,并在SQL Server中使用跟踪标志2312。

我注意到了

  • 使用此跟踪标志时,大约20分钟后,我的查询立即返回所有结果。
  • 当不使用此跟踪标志时,我的查询将连续返回行,大约30分钟后结束。

当我调用IDBCommand.ExecuteReader()时反映出这一点,带有跟踪标志的此功能在20分钟后完成,没有跟踪标志的功能将立即完成。

我的问题是,如果手动将其作为选项添加到Select * from table option (querytraceon 2312)之类的查询中,则会得到预期的跟踪标志行为。但是,我尝试为全局DBCC traceon(2312, -1)设置数据库服务器的跟踪标志,并使用DBCC tracestatus()确认该标志是活动的。但是,当我尝试使用查询Select * from table创建我的阅读器时,ExecuteReader()调用立即结束,并且我可以知道此跟踪标志某种程度上没有被拾取。

0 个答案:

没有答案