|
Как правильно вычислить Reader'а Service Brocker'а
|
|||
---|---|---|---|
#18+
Натолкнулся на грабельки, про которые давно знал, но за полтора года только сегодня наступил. Итак по порядку. Есть Reader SB, выполняющий загрузку данных 24х7. Есть задача (запускается SQL агентом) обеспечивающая движение окна и т.д. и т.п. В этой задаче происходит следующее 1) Выключаю активацию очередей SB. В Reader'ах стоит безусловный выход по этому условию. Если не вырубить, то можно и не дождаться когда Reader'ы свалят. 2) Жедм отвала всех процессов или переход их в неактивное состояние 3) Захват базы в монопольное использование 4) Двигаем окнами и т.д. и т.п. 5) Отпускаем базу 6) Включаем очереди SB. 7) Далее не интересно ... Что произошло. В одной из SP, запущенной из под Reader'а есть защита кусочка кода Код: plaintext 1. 2. 3. 4. 5.
которая работает не правильно если вырубить активацию Reader'ов. Проблема в том, что после выполнения ALTER QUEUE BLA.BLA_Queue WITH STATUS = ON , ACTIVATION ( STATUS = OFF ) Из sys.dm_broker_activated_tasks исчезнут все упоминания о наших Reader'ах, запущенных для этой очереди. Но вот что интересно, в логе SQL'я есть следующее сообщение Код: plaintext 1. 2.
Из чего я делаю вывод, что SQL знает что запуск SP был из под Reader'а. Вопрос, как выпытать у него эту информацию ? PS. Передача через параматры не катит, т.к. уровень вложенности SP близок к 15 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2008, 10:48 |
|
Как правильно вычислить Reader'а Service Brocker'а
|
|||
---|---|---|---|
#18+
Итак, решения нет ? Или я слишком туманно описал проблему ? Попробую покороче ... Если выполнить команду Код: plaintext 1.
Тем не менее SQL после этого точно знает, что процесс был активирован Service Brocker'ом. Вопрос - как добыть туже информацию ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2008, 17:36 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1740508]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 132ms |
0 / 0 |