DBCC INPUTBUFFER (Transact-SQL)
Berlaku untuk:SQL Server Azure SQL DatabaseAzure SQL Managed Instance
Menampilkan pernyataan terakhir yang dikirim dari klien ke instans SQL Server.
Sintaks
DBCC INPUTBUFFER ( session_id [ , request_id ] )
[ WITH NO_INFOMSGS ]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
session_id
ID sesi yang terkait dengan setiap koneksi utama aktif.
request_id
Permintaan yang tepat (batch) untuk dicari dalam sesi saat ini.
Kueri berikut mengembalikan request_id:
SELECT request_id
FROM sys.dm_exec_requests
WHERE session_id = @@spid;
WITH
Mengaktifkan opsi yang akan ditentukan.
NO_INFOMSGS
Menekan semua pesan informasi yang memiliki tingkat keparahan dari 0 hingga 10.
Tataan hasil
DBCC INPUTBUFFER
mengembalikan set baris dengan kolom berikut.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
EventType | nvarchar(30) | Jenis peristiwa. Ini bisa menjadi Peristiwa RPC atau Peristiwa Bahasa. Output akan menjadi Tidak Ada Peristiwa ketika tidak ada peristiwa terakhir yang terdeteksi. |
Parameter | smallint | 0 = Teks 1- n = Parameter |
EventInfo | nvarchar(4000) | Untuk EventType RPC, EventInfo hanya berisi nama prosedur. Untuk EventType bahasa, hanya 4000 karakter pertama acara yang ditampilkan. |
Misalnya, DBCC INPUTBUFFER
mengembalikan tataan hasil berikut saat peristiwa terakhir di buffer adalah DBCC INPUTBUFFER (11)
.
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.
Catatan
Dimulai dengan SQL Server 2014 (12.x) SP2, gunakan sys.dm_exec_input_buffer untuk mengembalikan informasi tentang pernyataan yang dikirimkan ke instans SQL Server.
Izin
SQL Server memerlukan izin VIEW SERVER STATE, atau keanggotaan dalam peran server tetap sysadmin.
Tanpa salah satu dari ini, pengguna hanya dapat melihat buffer input sesi mereka sendiri. Itu berarti session_id harus sama dengan ID sesi tempat perintah dijalankan. Untuk menentukan ID sesi. jalankan kueri berikut:
SELECT @@spid;
SQL Database tingkat Premium dan Bisnis Kritis memerlukan izin TAMPILKAN STATUS DATABASE dalam database. SQL Database tingkat Standar, Dasar, dan Tujuan Umum memerlukan akun admin SQL Database.
Contoh
Contoh berikut berjalan DBCC INPUTBUFFER
pada koneksi kedua saat transaksi panjang berjalan pada koneksi sebelumnya.
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);