IDBCommand.ExecuteReader () не получает флаги трассировки SQL Server - PullRequest
0 голосов
/ 30 ноября 2018

Я выполняю длинный запрос и использую флаг трассировки 2312 в SQL Server.

Я заметил, что

  • при использовании этого флага трассировки мой запрос возвращает все результаты сразу, примерно через 20 минут.
  • , если этот флаг трассировки не используетсяМой запрос возвращает строки непрерывно, заканчиваясь примерно через 30 минут.

Это отражается, когда я выполняю этот вызов IDBCommand.ExecuteReader(), с флагом трассировки, эта функция завершается через 20 минут, без флага трассировкиФункция завершается немедленно.

Моя проблема в том, что я получаю ожидаемое поведение флага трассировки, если вручную добавляю его в качестве опции в свой запрос, например Select * from table option (querytraceon 2312).Однако я попытался установить флаг трассировки для сервера базы данных глобально DBCC traceon(2312, -1) и подтвердил, что этот флаг был активен, используя DBCC tracestatus().Тем не менее, когда я пытаюсь создать свой ридер, используя запрос Select * from table, вызов ExecuteReader() сразу заканчивается, и я могу сказать, что этот флаг трассировки как-то не поднимается.

...