sys.dm_exec_input_buffer (Transact-SQL)
Si applica a: SQL Server 2014 database SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)
Restituisce informazioni sulle istruzioni inviate a un'istanza di SQL Server.
Sintassi
sys.dm_exec_input_buffer ( session_id , request_id )
Argomenti
session_id ID sessione che esegue il batch da cercare. session_id è smallint. session_id Può essere ricavato dagli oggetti a gestione dinamica seguenti:
request_id Il request_id da sys.dm_exec_requests. request_id è int.
Tabella restituita
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
event_type | nvarchar(256) | Tipo di evento nel buffer di input per lo spid specificato. |
parameters | smallint | Tutti i parametri forniti per l'istruzione . |
event_info | nvarchar(max) | Testo dell'istruzione nel buffer di input per lo spid specificato. |
Autorizzazioni
In SQL Server, se l'utente dispone dell'autorizzazione VIEW SERVER STATE, l'utente visualizzerà tutte le sessioni in esecuzione nell'istanza di SQL Server; in caso contrario, l'utente visualizzerà solo la sessione corrente.
Importante
L'esecuzione di questa DMV all'esterno di SQL Server Management Studio su SQL Server senza autorizzazioni VIEW SERVER STATE (ad esempio in un trigger, stored procedure o funzione) genera un errore di autorizzazione nel database master.
In database SQL, se l'utente è il proprietario del database, l'utente visualizzerà tutte le sessioni in esecuzione nel database SQL; in caso contrario, l'utente visualizzerà solo la sessione corrente.
Importante
L'esecuzione di questa DMV all'esterno di SQL Server Management Studio su database SQL di Azure senza autorizzazioni di proprietario (ad esempio in un trigger, una stored procedure o una funzione) genera un errore di autorizzazione nel database master.
Autorizzazioni per SQL Server 2022 e versioni successive
È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.
Osservazioni:
Questa funzione a gestione dinamica può essere usata in combinazione con sys.dm_exec_sessions o sys.dm_exec_requests eseguendo CROSS APPLY.
Esempi
R. Esempio semplice
Nell'esempio seguente viene illustrato il passaggio di un ID sessione (SPID) e un ID richiesta alla funzione.
SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO
B. L'uso di cross apply to additional information (Uso di cross apply to additional information)
Nell'esempio seguente viene elencato il buffer di input per le sessioni utente.
SELECT es.session_id, ib.event_info
FROM sys.dm_exec_sessions AS es
CROSS APPLY sys.dm_exec_input_buffer(es.session_id, NULL) AS ib
WHERE es.is_user_process = 1;
GO