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