Поделиться через


sys.sysprocesses (Transact-SQL)

Содержит сведения о процессах, которые выполняются в экземпляре SQL Server. Эти процессы могут быть клиентскими или системными. Для доступа к sysprocesses либо необходимо быть в контексте главной базы данных, либо следует использовать трехчастное имя master.dbo.sysprocesses.

Важное примечаниеВажно!

Эта системная таблица SQL Server 2000 включена в СУБД как представление для обеспечения обратной совместимости. Вместо нее рекомендуется использовать системные представления SQL Server. Сведения о том, как найти эквивалентное представление, см. в разделе Сопоставление системных таблиц SQL Server 2000 и системных представлений SQL Server 2005. В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.

Имя столбца

Тип данных

Описание

spid

smallint

Идентификатор сеанса SQL Server.

kpid

smallint

Идентификатор потока Windows.

blocked

smallint

Идентификатор сеанса, блокирующего запрос. Если этот столбец содержит значение NULL, то запрос не блокирован или сведения о сеансе блокировки недоступны (или не могут быть идентифицированы).

-2 = Блокирующий ресурс принадлежит потерянной распределенной транзакции.

-3 = Блокирующий ресурс принадлежит отложенной транзакции восстановления.

-4 = идентификатор сеанса владельца кратковременной блокировки не может быть определен из-за внутренних переходов состояния кратковременной блокировки.

waittype

binary(2)

Зарезервировано.

waittime

bigint

Текущее время ожидания, в миллисекундах.

0 = процесс не является ожидающим.

lastwaittype

nchar(32)

Строка, обозначающая имя последнего или текущего типа ожидания.

waitresource

nchar(256)

Текстовое представление ресурса блокировки.

dbid

smallint

Идентификатор базы данных, используемый процессом в данный момент.

uid

smallint

Идентификатор пользователя, выполнявшего команду. Вызывает переполнение или возвращает значение NULL, если количество пользователей и ролей превышает 32 767. Дополнительные сведения см. в разделе Запрос к системному каталогу SQL Server.

cpu

int

Совокупное время ЦП для процесса. Запись обновляется для всех процессов независимо от значения параметра SET STATISTICS TIME (ON или OFF).

physical_io

int

Совокупное количество операций чтения и записи для процесса.

memusage

int

Число страниц в кэше процедур, выделенных в данный момент для этого процесса. Отрицательное значение показывает, что процесс освобождает память, выделенную другим процессом.

login_time

datetime

Время регистрации клиентского процесса на сервере. Время запуска системных процессов SQL Server сохраняется.

last_batch

datetime

Время последнего вызова удаленной хранимой процедуры или инструкции EXECUTE клиентским процессом. Время запуска системных процессов SQL Server сохраняется.

ecid

smallint

Идентификатор контекста выполнения используется с целью идентифицировать подпроцессы, действующие от имени одного процесса, уникальным образом.

open_tran

smallint

Количество транзакций, открытых для данного процесса.

status

nchar(30)

Состояние идентификатора процесса. Возможные значения:

dormant = SQL Server сбрасывает сеанс.

running = в ходе сеанса запущен один или несколько пакетов. Если включен режим MARS, в сеансе можно запускать несколько пакетов. Дополнительные сведения см. в разделе Использование режима MARS.

background = в ходе сеанса запущена фоновая задача, например определение взаимоблокировки.

rollback = сеанс находится в процессе отката транзакции.

pending = сеанс ожидает доступности рабочего потока.

runnable = задача сеанса помещена планировщиком в очередь готовых к выполнению и ожидает получения такта времени.

spinloop = задача сеанса ожидает освобождения объекта взаимоблокировки.

suspended = задача ожидает завершения события, например ввода-вывода.

sid

binary(86)

Идентификатор GUID для этого пользователя.

hostname

nchar(128)

Имя рабочей станции.

program_name

nchar(128)

Имя приложения.

hostprocess

nchar(10)

Идентификационный номер процесса рабочей станции.

cmd

nchar(16)

Команда, выполняемая в данный момент.

nt_domain

nchar(128)

Домен Windows для клиента, если применяется проверка подлинности Windows или доверенное соединение.

nt_username

nchar(128)

Имя пользователя Windows для процесса, если применяется проверка подлинности Windows или доверенное соединение.

net_address

nchar(12)

Связанный уникальный идентификатор для сетевого адаптера рабочей станции каждого пользователя. При входе пользователя в систему этот идентификатор вставляется в столбец net_address.

net_library

nchar(12)

Столбец, в котором хранится библиотека клиентской сети. Каждый клиентский процесс подключается к сетевому соединению. С сетевыми подключениями связана сетевая библиотека, позволяющая им устанавливать соединение. Дополнительные сведения см. в разделе Сетевые протоколы и конечные точки потока табличных данных.

loginame

nchar(128)

Имя входа.

context_info

binary(128)

Данные, которые хранятся в пакете с помощью инструкции SET CONTEXT_INFO.

sql_handle

binary(20)

Представляет пакет или объект, который выполняется в настоящий момент.

ПримечаниеПримечание
Это значение формируется из адреса объекта в памяти или в пакете. Оно не вычисляется с помощью алгоритма SQL Server на основе хэша.

stmt_start

int

Начальное смещение текущей инструкции SQL для заданной sql_handle.

stmt_end

int

Конечное смещение текущей инструкции SQL для заданной sql_handle.

-1 = текущая инструкция переходит к концу результатов, возвращаемому функцией fn_get_sql для заданной sql_handle.

request_id

int

Идентификатор запроса. Применяется для идентификаций запросов, выполняемых в текущем сеансе.

Замечания

Если пользователь имеет разрешение VIEW SERVER STATE на сервере, он увидит все выполняющиеся сеансы на экземпляре SQL Server. В противном случае пользователь увидит только текущий сеанс.