Я запутался в состояниях сеансов SQL Server. Кто-нибудь может объяснить это?
В чем смысл состояний сеанса в SQL Server, таких как спящий режим, приостановление, запуск и т.д.
Ответ 1
От MSDN:
- dormant = SQL Server сбрасывает сеанс.
- running = В сеансе выполняется одна или несколько партий. Когда активировано множество активных наборов результатов (MARS), сеанс может запускаться несколькими партиями. Дополнительные сведения см. В разделе Использование нескольких активных наборов результатов (MARS).
- background = В сеансе выполняется фоновое задание, такое как обнаружение блокировки.
- rollback = сеанс имеет откат транзакции в процессе.
- pending = сеанс ожидает, когда рабочий поток станет доступным.
- runnable = Задача в сеансе находится в runnable queue планировщика, ожидая получения кванта времени.
- spinloop = Задача в сеансе ожидает освобождения спин-блокировки.
- suspended = сеанс ожидает завершения события, например ввода-вывода.
Ответ 2
Если вы ссылаетесь на состояние сеанса ASP.NET с использованием SQL Server, тогда строка сеанса хранится в таблице на SQL Server. Это позволяет использовать один и тот же сеанс для нескольких веб-серверов. В противном случае при использовании состояния сеанса ASP.NET InProc (In Process) система сохраняет сеанс в процессе на сингл-машине и может не использоваться в webfarm.