Время ожидания сеанса пользователя SQL Server? - PullRequest
0 голосов
/ 30 мая 2011

Я использую оконное приложение и хочу запустить триггер после истечения времени сеанса пользователя. Итак,

Как определить, прерывается ли пользователь или время его сеанса с использованием SQ L server 2008?

1 Ответ

2 голосов
/ 31 мая 2011

SQL Server никогда не прерывает сеансы и запросы. Запрос к SQL Server может выполняться часами, даже днями без перерыва. У вас может сложиться неправильное впечатление, что запросы к SQL Server истекают и прерываются, потому что клиент ADO.Net выбирает прерывание запросов через 30 секунд, поскольку это значение по умолчанию SqlCommand.CommandTimeout:

Время в секундах ожидания Команда для выполнения. По умолчанию 30 секунд.

Однако прерывание запросов является специфическим поведением клиента, к которому не относится SQL Server. Другие клиенты (например, JDBC) используют другие политики.

Точно так же сеанс SQL Server никогда не прерывается, даже если он не используется в течение нескольких дней. Приложение должно явно закрыть соединение, чтобы его сеансы прекратились. Хотя верно и то, что существуют административные способы отключения сеансов (команда KILL), они никогда не должны использоваться, за исключением административных операций с крайней последней мерой.

Итак, хорошая новость в том, что вам не нужно ничего делать, то, чего вы просите, не существует или не должно выполняться для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...