sys.sysprocesses (Transact-SQL)

Contiene informazioni sui processi in esecuzione in un'istanza di SQL Server. Questi processi possono essere processi client o di sistema. Per accedere a sysprocesses, è necessario trovarsi nel contesto del database master oppure utilizzare il nome in tre parti master.dbo.sysprocesses.

Nota importanteImportante

Questa tabella di sistema di SQL Server 2000 è disponibile come vista per compatibilità con le versioni precedenti. È consigliabile utilizzare invece le viste di sistema correnti di SQL Server. Per individuare la vista o le viste di sistema equivalenti, vedere Mapping delle tabelle di sistema di SQL Server 2000 alle viste di sistema di SQL Server 2005. Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa caratteristica in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

Nome colonna

Tipo di dati

Descrizione

spid

smallint

ID di sessione di SQL Server.

kpid

smallint

ID del thread di Windows.

blocked

smallint

ID della sessione che sta bloccando la richiesta. Se questa colonna è NULL, la richiesta non è bloccata oppure le informazioni sulla sessione da cui è bloccata non sono disponibili o non possono essere identificate.

-2 = La risorsa di blocco appartiene a una transazione distribuita orfana.

-3 = La risorsa di blocco appartiene a una transazione di recupero posticipata.

-4 = Non è stato possibile determinare l'ID di sessione del proprietario del latch di blocco a causa di transizioni nello stato del latch interno.

waittype

binary(2)

Riservato.

waittime

bigint

Tempo di attesa corrente espresso in millisecondi.

0 = Il processo non è in attesa.

lastwaittype

nchar(32)

Stringa che indica il nome del tipo di attesa più recente o corrente.

waitresource

nchar(256)

Rappresentazione testuale di una risorsa di blocco.

dbid

smallint

ID del database attualmente utilizzato dal processo.

uid

smallint

ID dell'utente che ha eseguito il comando. Causa un errore di overflow o restituisce NULL se il numero di utenti e ruoli è maggiore di 32.767. Per ulteriori informazioni, vedere Esecuzione di query nel catalogo di sistema di SQL Server.

cpu

int

Tempo CPU totale per il processo. Il valore viene aggiornato per tutti i processi, indipendentemente dal fatto che l'opzione SET STATISTICS TIME sia impostata su ON o OFF.

physical_io

bigint

Numero totale di letture da disco e scritture su disco per il processo.

memusage

int

Numero di pagine della cache delle procedure attualmente assegnate al processo. Un numero negativo indica che il processo sta liberando la memoria allocata da un altro processo.

login_time

datetime

Ora dell'accesso al server di un processo client. Per i processi di sistema viene archiviata l'ora di avvio di SQL Server.

last_batch

datetime

Ora dell'ultima esecuzione di una chiamata a una stored procedure remota o di un'istruzione EXECUTE da parte di un processo client. Per i processi di sistema viene archiviata l'ora di avvio di SQL Server.

ecid

smallint

ID del contesto di esecuzione utilizzato per identificare in modo univoco i thread secondari utilizzati per conto di un unico processo.

open_tran

smallint

Numero di transazioni aperte per il processo.

status

nchar(30)

Stato dell'ID del processo. I possibili valori sono:

dormant = SQL Server sta reimpostando la sessione.

running = Nella sessione vengono eseguiti uno o più batch. Se si abilita la funzionalità MARS (Multiple Active Result Sets), una sessione può eseguire più batch. Per ulteriori informazioni, vedere Utilizzo di MARS (Multiple Active Result Set).

background = Nella sessione viene eseguita un'attività in background, ad esempio il rilevamento dei deadlock.

rollback = Nella sessione è in corso il rollback di una transazione.

pending = La sessione è in attesa che un thread di lavoro diventi disponibile.

runnable = L'attività della sessione si trova nella coda eseguibile di un'utilità di pianificazione in attesa di un quantum temporale.

spinloop = L'attività della sessione è in attesa che venga liberato uno spinlock.

suspended = La sessione è in attesa del completamento di un evento, ad esempio di I/O.

sid

binary(86)

Identificatore univoco globale (GUID, Globally Unique Identifier) per l'utente.

hostname

nchar(128)

Nome della workstation.

program_name

nchar(128)

Nome dell'applicazione.

hostprocess

nchar(10)

Numero di ID del processo della workstation.

cmd

nchar(16)

Comando in fase di esecuzione.

nt_domain

nchar(128)

Dominio di Windows per il client, se si utilizza l'autenticazione di Windows, o connessione trusted.

nt_username

nchar(128)

Nome utente di Windows per il processo, se si utilizza l'autenticazione di Windows, o connessione trusted.

net_address

nchar(12)

Identificatore univoco assegnato alla scheda di rete della workstation di ogni utente. All'accesso di un utente, questo identificatore viene inserito nella colonna net_address.

net_library

nchar(12)

Colonna in cui viene archiviata la libreria di rete del client. Ogni processo client utilizza una connessione di rete. Le connessioni di rete sono associate a una libreria di rete che consente di stabilire la connessione. Per ulteriori informazioni, vedere Protocolli di rete ed endpoint TDS.

loginame

nchar(128)

Nome dell'account di accesso.

context_info

binary(128)

Dati archiviati in un batch tramite l'istruzione SET CONTEXT_INFO.

sql_handle

binary(20)

Rappresenta il batch o l'oggetto attualmente in esecuzione.

Nota   Questo valore è derivato dal batch o dall'indirizzo di memoria dell'oggetto e non viene calcolato tramite l'algoritmo basato su hash di SQL Server.

stmt_start

int

Offset iniziale dell'istruzione SQL corrente per il valore di sql_handle specificato.

stmt_end

int

Offset finale dell'istruzione SQL corrente per il valore di sql_handle specificato.

-1 = L'istruzione corrente viene eseguita fino alla fine dei risultati restituiti dalla funzione fn_get_sql per il valore di sql_handle specificato.

request_id

int

ID della richiesta. Utilizzato per identificare le richieste in esecuzione in una sessione specifica.

Osservazioni

Se si dispone dell'autorizzazione VIEW SERVER STATE per il server, è possibile visualizzare tutte le sessioni in esecuzione nell'istanza di SQL Server. In caso contrario, è possibile visualizzare solo la sessione corrente.