Aracılığıyla paylaş


DBCC INPUTBUFFER (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

İstemciden SQL Server örneğine gönderilen son deyimi görüntüler.

Transact-SQL söz dizimi kuralları

Sözdizimi

DBCC INPUTBUFFER ( session_id [ , request_id ] )
[ WITH NO_INFOMSGS ]

Bağımsız değişken

session_id

Her etkin birincil bağlantıyla ilişkili oturum kimliği.

request_id

Geçerli oturumda aranacak tam istek (toplu iş).

Aşağıdaki sorgu request_iddöndürür:

SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spid;

İLE

Seçeneklerin belirtilmesine olanak tanır.

  • NO_INFOMSGS

    Önem düzeyi 0 ile 10 arasında olan tüm bilgilendirme iletilerini gizler.

Sonuç kümeleri

DBCC INPUTBUFFER aşağıdaki sütunları içeren bir satır kümesi döndürür.

Sütun adı Veri tipi Açıklama
EventType nvarchar(30) Olay türü. Bu RPC Olay veya Dil Olayıolabilir. Çıkış, son olay algılandığında Olay Yok .
Parametreleri smallint 0 = Metin

1- n = Parametreler
EventInfo nvarchar(4000) RPC'nin EventType için eventinfo yalnızca yordam adını içerir. EventType dil için olayın yalnızca ilk 4000 karakteri görüntülenir.

Örneğin, DBCC INPUTBUFFER arabellekteki son olay DBCC INPUTBUFFER (11)olduğunda aşağıdaki sonuç kümesini döndürür.

EventType      Parameters EventInfo
-------------- ---------- ---------------------
Language Event 0          DBCC INPUTBUFFER (11)
  
(1 row(s) affected)
  
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Not

SQL Server 2014 (12.x) SP2'den başlayarak, SQL Server örneğine gönderilen deyimler hakkında bilgi döndürmek için sys.dm_exec_input_buffer kullanın.

İzinler

SQL Server, VIEW SERVER STATE izni veya sysadmin sabit sunucu rolü üyeliği gerektirir.

Bunlardan hiçbiri olmadan, kullanıcılar yalnızca kendi oturumlarının giriş arabelleği görüntüleyebilir. Bu, session_id komutun çalıştırıldığı oturum kimliğiyle aynı olması gerektiği anlamına gelir. Oturum kimliğini belirlemek için aşağıdaki sorguyu yürütür:

SELECT @@spid;

SQL Veritabanı Premium ve İş Açısından Kritik katmanları için veritabanında VIEW DATABASE STATE izni gerekir. SQL Veritabanı Standart, Temel ve Genel Amaçlı katmanları IÇIN SQL Veritabanı yönetici hesabı gerekir.

Örnekler

Aşağıdaki örnek, önceki bağlantıda uzun bir işlem çalışırken ikinci bir bağlantıda DBCC INPUTBUFFER çalıştırır.

CREATE TABLE dbo.T1 (Col1 INT, Col2 CHAR(3));
GO

DECLARE @i INT = 0;

BEGIN TRANSACTION

SET @i = 0;

WHILE (@i < 100000)
BEGIN
    INSERT INTO dbo.T1
    VALUES (@i, CAST(@i AS CHAR(3)));
    SET @i += 1;
END;

COMMIT TRANSACTION;

--Start new connection #2.
DBCC INPUTBUFFER (52);

Ayrıca bkz.