sys.dm_exec_input_buffer (SQL Bertransaksi)

BERLAKU UNTUK: SQL Server 2014 Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)

Mengembalikan informasi tentang pernyataan yang dikirimkan ke instans SQL Server.

Sintaks

sys.dm_exec_input_buffer ( session_id , request_id )

Argumen

session_id Apakah ID sesi yang menjalankan batch akan dicari. session_idkecil. session_id dapat diperoleh dari objek manajemen dinamis berikut:

request_id Request_id dari sys.dm_exec_requests. request_idint.

Tabel Dikembalikan

Nama kolom Jenis data Deskripsi
event_type nvarchar(256) Jenis peristiwa dalam buffer input untuk spid yang diberikan.
parameter smallint Parameter apa pun yang disediakan untuk pernyataan tersebut.
event_info nvarchar(maks) Teks pernyataan dalam buffer input untuk spid yang diberikan.

Izin

Pada SQL Server, jika pengguna memiliki izin VIEW SERVER STATE, pengguna akan melihat semua sesi yang dijalankan pada instans SQL Server; jika tidak, pengguna hanya akan melihat sesi saat ini.

Penting

Menjalankan DMV ini di luar SQL Server Management Studio terhadap SQL Server tanpa izin LIHAT STATUS SERVER (seperti dalam pemicu, prosedur tersimpan, atau fungsi) memunculkan kesalahan izin pada database master.

Pada SQL Database, jika pengguna adalah pemilik database, pengguna akan melihat semua sesi yang dijalankan pada SQL Database; jika tidak, pengguna hanya akan melihat sesi saat ini.

Penting

Menjalankan DMV ini di luar SQL Server Management Studio terhadap Azure SQL Database tanpa izin pemilik (seperti dalam pemicu, prosedur tersimpan, atau fungsi) memunculkan kesalahan izin pada database master.

Keterangan

Fungsi manajemen dinamis ini dapat digunakan bersama dengan sys.dm_exec_sessions atau sys.dm_exec_requests dengan melakukan CROSS APPLY.

Contoh

A. Contoh sederhana

Contoh berikut menunjukkan meneruskan ID sesi (SPID) dan ID permintaan ke fungsi.

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

B. Menggunakan cross apply untuk informasi tambahan

Contoh berikut mencantumkan buffer input untuk sesi pengguna.

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

Lihat juga