sys.dm_exec_input_buffer (Transact-SQL)

Şunlar için geçerlidir: SQL Server 2014 (12.x) SP2 ve sonraki sürümler Azure SQL VeritabanıAzure SQL Yönetilen ÖrneğiSQL database in Microsoft Fabric

SQL Server'ın bir örneğine gönderilen ifadelerle ilgili bilgileri döndürür.

Syntax

sys.dm_exec_input_buffer ( session_id , request_id )

Argümanlar

session_id Oturum kimliği bakanacak partiyi mi çalıştırıyor? session_idküçüktür. session_id aşağıdaki dinamik yönetim nesnelerinden alınabilir:

request_idsys.dm_exec_requests'dan gelen request_id. request_idiçsel.

Döndürülen Tablo

Sütun adı Veri türü Açıklama
event_type nvarchar(256) Verilen oturum kimliği (SPID) için giriş tamponundaki olay türü.
parameters smallint İfade için sağlanan herhangi bir parametre.
event_info nvarchar(max) Verilen oturum kimliği (SPID) için giriş tamponundaki ifadenin metni.

Permissions

SQL Server'da, kullanıcı SERVER STATE iznine sahipseVIEW, SQL Server örneğinde tüm yürütülme oturumlarını görür; aksi takdirde kullanıcı yalnızca mevcut oturumu görür.

Important

Bu DMV'yi SQL Server Management Studio dışında, SERVER STATE izinleri olmadan VIEW (örneğin tetikleyici, saklanan prosedür veya fonksiyon gibi) SQL Server'a karşı çalıştırmak ana veritabanında bir izin hatası atar.

SQL Veritabanı'nda, kullanıcı veritabanı sahibiyse, kullanıcı SQL Veritabanı'ndaki tüm yürütülen oturumları görecektir; aksi takdirde, kullanıcı sadece mevcut oturumu görecektir.

Important

Bu DMV'yi SQL Server Management Studio dışında Azure SQL Veritabanı'na kullanıcı iznleri olmadan (örneğin tetikleyici, saklanan prosedür veya fonksiyon gibi) çalıştırmak ana veritabanında izin hatası atar.

SQL Server 2022 ve üzeri için izinler

Sunucuda SERVER PERFORMANCE STATE izni gerektirir VIEW .

Açıklamalar

Bu dinamik yönetim fonksiyonu, sys.dm_exec_sessions veya sys.dm_exec_requests ile birlikte CROSS APPLY yaparak kullanılabilir.

Examples

A. Basit örnek

Aşağıdaki örnek, fonksiyona bir oturum kimliği (SPID) ve istek kimliği iletildiğini göstermektedir.

SELECT * FROM sys.dm_exec_input_buffer (52, 0);
GO

B. Ek bilgi için çapraz uygulama kullanımı

Aşağıdaki örnek, kullanıcı oturumları için giriş tamponunu listeler.

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

Ayrıca Bkz.