От себя замечу, что хотя способ и остроумный (я более длинным путем эту информацию получаю), но эвристический. Во первых - для сессии может быть более одного открытого курсора (и тогда надо будет по косвенным признакам искать более тяжелый из курсоров). Во вторых - у меня есть ужасное подозрение что система использует имена курсоров повторно для других запросов. Ну то есть - если ты видешь что у тебя в списке тяжелых запросов в sys.dm_exec_query_stats болтается запрос FETCH XYZ и ты видишь что у тебя в какой-то из сесии этот курсор используется для примитивного запроса select * from inventTable where itemId=%1, это не означает что сиквел сошел с ума и не может извлечь одну запись по кластерному ключу. Возможно вчера это же имя курсора использовалось для мегатяжелого запроса с 6 джойнами, а счас он просто повторно используется для простенького запроса. Во втором пункте я не уверен, но я точно видел несколько раз когда FETCH тяжелейшей исторической статистикой исполнения почему-то ссылался на простенький запросик...
|