Aracılığıyla paylaş


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 DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

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

Sözdizimi

sys.dm_exec_input_buffer ( session_id , request_id )

Arguments

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ü Description
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ı VIEW SERVER STATE iznine sahipse, SQL Server örneğinde tüm yürütülme oturumlarını görecektir; aksi takdirde, kullanıcı sadece mevcut oturumu görecektir.

Önemli

Bu DMV'yi SQL Server Yönetim Stüdyosu dışında çalıştırmak VIEW SERVER STATE izinleri olmadan (örneğin tetikleyici, saklanan prosedür veya fonksiyonda) SQL Server'a karşı çalıştırıldığında, 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.

Önemli

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 SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Açıklamalar

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

Örnekler

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.