Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Есть довольно объемная хранимка на сервере, выполнение которой клиент может не дождаться из-за таймаута. Возможно ли отловить данное событие в процедуре? Microsoft SQL Server 2016 (SP1-CU3) (KB4019916) - 13.0.4435.0 (X64) Apr 27 2017 17:36:12 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2016 Standard 6.3 <X64> (Build 14393: ) (Hypervisor) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:16 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Нет, конечно. Почта России тоже не в курсе, что адресат в некоторых случаях умирает от старости до того, как они доставят ему что-либо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:27 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544, ихо таймаут отправляет rollback на сервер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:34 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
т.е. в начале процедуры выставлять какой либо флаг в таблице и смотреть откатятся изменения или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:41 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544, непонятен смысл постановки задачи. Ничего не надо отлавливать на самом деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:45 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
TaPaKихо таймаут отправляет rollback на серверНет. Будет ли откат зависит от значения xact_abort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:49 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Смысл в том, что бы оперативно реагировать на проблемы, возникающие в процессе работы клиентов. Проще собирать данные с сервера, а не собирать логи с клиентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:50 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
invm, по моему разумению при таймауте выполнения клиент должен отключить сеанс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:52 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544Есть довольно объемная хранимка на сервере, выполнение которой клиент может не дождаться из-за таймаута. Возможно ли отловить данное событие в процедуре? Microsoft SQL Server 2016 (SP1-CU3) (KB4019916) - 13.0.4435.0 (X64) Apr 27 2017 17:36:12 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2016 Standard 6.3 <X64> (Build 14393: ) (Hypervisor) 1. Процедура выполняется ВНЕ транзакции - можно. Запись в табличку в начале и стирание записи в конце процедуры. Проверка оставшихся записей. 2. Процедура выполняется В транзакции и вы готовы слегка поступиться быстродействием. CRL или xp_cmdshell - запись в табличку в начале и стирание записи в конце процедуры. 2. Процедура выполняется В транзакции - запись в табличку в КОНЦЕ. Но нипонятно, как отследить факт запуска? Рази только вести протокол о намерениях: т.е. запускать вне транзакции ДОП. процедуру, которая зарегистрирует намерение запустить нужную, а нужная - сотрет или пометит как исполненное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:53 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
aleks222, Откройте для себя поведение табличных переменных в транзациях, прежде чем рекомендовать xp_cmdshell ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:59 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544, нет, сервер баз данных над использовать по назначению, а информацию о дисконнектах собирать либо на слое приложений, если такой есть, либо на самих клиентах, например, через журнал приложения в Windows. Журналы могут быть переданы на некий агрегатор и эта технология существует в Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:04 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, это демагогия, случаи разные бывают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:09 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
invmTaPaKихо таймаут отправляет rollback на серверНет. Будет ли откат зависит от значения xact_abort. да, правильно, Грубо говоря отправляется "Stop" как в ssms. Возникает событие Attention и при обработке уже всё зависит от параметров xact_abort. Можно ловить через EE Attention https://www.red-gate.com/simple-talk/blogs/identifying-client-timeouts/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:09 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Критик, можно подробнее, как использовать табличные переменные в моем случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:10 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544как использовать табличные переменные в моем случае?В вашем случае ничто не поможет. Ибо при клиентском тайм-ауте (или отмене) прекращается выполнение текущего пакета. Т.е. узнать в самой процедуре, что ее вполнение было прервано невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:30 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
Критикaleks222, Откройте для себя поведение табличных переменных в транзациях, прежде чем рекомендовать xp_cmdshell Да я в курсе поведения. Тока я не в курсе как оно поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:35 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
invmKRS544как использовать табличные переменные в моем случае?В вашем случае ничто не поможет. Ибо при клиентском тайм-ауте (или отмене) прекращается выполнение текущего пакета. Т.е. узнать в самой процедуре, что ее вполнение было прервано невозможно. Да, я это понял. Решения TaPaK и aleks222 вполне устраивают, спасибо. Просто не могу понять как можно использовать @table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:44 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544, в вашем, наверное, никак ) просто я прочитал рекомендацию вне контекста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:50 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544Просто не могу понять как можно использовать @tableДля ваших целей никак. Лучше расскажите зачем потребовалось отлавливать клиентский тайм-аут в процедуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:54 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
invm, если интересно... каждое выполнение процедуры логируется (что то типа билинга), если не отлавливать таймауты, то данные на клиенте и сервере не сойдутся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 14:05 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544invm, если интересно... каждое выполнение процедуры логируется (что то типа билинга), если не отлавливать таймауты, то данные на клиенте и сервере не сойдутся. делать всё это с клиента не вызывает никаких затруднений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 14:10 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
хотя как получается автор данные на клиенте и сервере не сойдутся. не ясно. Откатывайте на сервере и на клиенте(?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 14:13 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
KRS544каждое выполнение процедуры логируетсяВызов процедуры или именно успешное выполнение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 14:19 |
|
||
|
Как отловить таймаут клиента в процедуре на сервере
|
|||
|---|---|---|---|
|
#18+
invm, получается вызов. За клиент я не отвечаю, поэтому сложно говорить, что там происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=116&tid=1688390]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 373ms |

| 0 / 0 |
