Відповіді:
Ну, мабуть, ви говорите переважно про класи Profiler, але пояснення все одно є.
Пакет SQL - це набір одного або більше операторів, згрупованих разом і розділених оператором GO. EG: більше операторів SELECT та INSERT утворюють партію, якщо вони мають кінець GO.
Дзвінок RPC - це дзвінок, який надходить від клієнтської програми до бази даних. EG: служба Windows, веб-додаток, додаток для Windows, все, що потрібно для підключення до бази даних, насправді робить дзвінок RPC.
Тепер у Profiler ви побачите все, що стосується сервера баз даних. Пакет із студії управління, виклик RPC (який є або пакетним, або збереженим викликом процедури) із зовнішньої програми, виконання процедури від Management Studio.
Кожен з них складається з операторів TSQL, тому цей клас Profiler корисний у випадку, якщо ви хочете далі розгорнути виконання, щоб побачити, що насправді виконується. Що вставляє, вибирає ... і т.д.
Найпростіший спосіб переглянути їх у Profiler - це ввімкнути лише End RPC-виклик або End-пакетний виклик, і ви побачите там всю необхідну статистику (тривалість, IO, CPU). Потім перемістіться далі, включивши клас операторів TSQL і виконайте глибший коп.
Batch vs T-SQL Заява
Це чітко визначено в SQL Server BOL тут
Пакет - це група одного або декількох операторів Transact-SQL, що надсилаються одночасно з програми на SQL Server для виконання. Go - пакетний сепаратор, який використовується в більшості клієнтських програм, включаючи SSMS.
SQL Server компілює висловлювання партії в єдиний виконуваний блок, який називається планом виконання. Виписки в плані виконання потім виконуються по черзі.
Простим терміном, що базується на моєму розумінні RPC - це коли ви виконуєте збережену процедуру за допомогою API клієнта (наприклад, в ADO.net CommandObject. Метод Execute)
Більш детальне пояснення знайдено в одній з публікацій Інтернет-групи новин тут :
RPC "vs" batch "- це режим виконання TDS, який використовується ADO.NET (або будь-який клієнт SQL Server). Коли звичайний оператор SQL без параметрів не виконується, ми використовуємо" batch ". Коли виконується зберігається-proc, ми використовуємо RPC (це не те саме, що RPC, як автономний мережевий віддалений виклик процедури. Ми просто трапляємося викликати цей режим RPC в TDS (мережевий протокол SQL Server)). Також, якщо ви виконуєте пакет з параметром, ми фактично використовуємо збережений-proc, який називається sp_executesql, і передаємо йому сам оператор SQL та інші параметри, тому він також відображається як RPC.
Пабло Кастро
Менеджер програм - ADO.NET Team
Microsoft Corp.
GOє прийнятим і типовим термінатором пакетів популярних клієнтів, які ми використовуємо (наприклад, SSMS та sqlcmd), але варто зазначити, що фактичнаGOрядок як термінатор пакетів може змінюватися і може бути налаштована.