Jawaban:
Yah, saya kira Anda berbicara sebagian besar tentang kelas Profiler, tetapi penjelasannya tetap ada.
Kumpulan SQL adalah kumpulan satu atau lebih pernyataan yang dikelompokkan bersama dan dipisahkan oleh pernyataan GO. EG: lebih banyak pernyataan SELECT dan INSERT membentuk batch jika mereka memiliki GO di akhir.
Panggilan RPC adalah panggilan yang berasal dari aplikasi klien ke database. EG: layanan windows, aplikasi web, aplikasi windows, apa pun yang membutuhkan koneksi ke database sebenarnya membuat panggilan RPC.
Sekarang, di Profiler Anda akan melihat semua yang menyentuh server database. Kumpulan dari Management Studio, panggilan RPC (yang merupakan batch atau panggilan prosedur tersimpan) dari aplikasi eksternal, eksekusi prosedur dari Management Studio.
Masing-masing terdiri dari pernyataan TSQL, jadi kelas Profiler ini berguna jika Anda ingin memperluas eksekusi lebih lanjut, untuk melihat apa yang sebenarnya dieksekusi. Apa yang disisipkan, pilih .. dll
Cara termudah untuk melihatnya di Profiler adalah dengan mengaktifkan hanya panggilan End RPC, atau End batch call dan Anda akan melihat semua statistik yang diperlukan di sana (durasi, IO, CPU). Kemudian, bergerak lebih jauh dengan mengaktifkan kelas Pernyataan TSQL dan menggali lebih dalam.
Pernyataan Batch vs T-SQL
Ini jelas didefinisikan dalam SQL Server BOL di sini
Batch adalah sekelompok satu atau lebih pernyataan Transact-SQL yang dikirim secara bersamaan dari aplikasi ke SQL Server untuk dieksekusi. Go adalah pemisah batch yang digunakan dalam sebagian besar aplikasi klien termasuk SSMS.
SQL Server mengkompilasi pernyataan batch menjadi satu unit yang dapat dieksekusi, yang disebut rencana eksekusi. Pernyataan dalam rencana eksekusi kemudian dieksekusi satu per satu.
Dalam istilah sederhana berdasarkan pada pemahaman saya, RPC adalah ketika Anda menjalankan proc yang disimpan menggunakan API klien (misalnya dalam ADO.net CommandObject. Execute method)
Penjelasan lebih rinci dapat ditemukan di salah satu posting newsgroup internet di sini :
RPC "vs" batch "adalah mode eksekusi TDS yang digunakan ADO.NET (atau klien SQL Server). Ketika pernyataan SQL sederhana tanpa parameter dieksekusi, kami menggunakan" batch ". Ketika proc yang tersimpan dijalankan, kami menggunakan RPC (ini tidak sama dengan RPC sebagai panggilan prosedur jaringan jarak jauh yang berdiri sendiri, kami kebetulan memanggil mode ini RPC di TDS (protokol jaringan SQL Server)). Juga, jika Anda menjalankan batch dengan parameter, kita benar-benar menggunakan proc yang tersimpan yang disebut sp_executesql, dan meneruskan pernyataan SQL itu sendiri dan parameter lainnya ke sana, sehingga ia juga ditampilkan sebagai RPC.
Manajer Program Pablo Castro - Tim ADO.NET
Microsoft Corp.
GO
apakah terminator batch yang diterima dan default dari klien populer yang kami gunakan (yaitu SSMS dan sqlcmd), tetapi perlu dicatat bahwaGO
string aktual sebagai terminator batch dapat berubah dan dapat dikonfigurasi.