Odpowiedzi:
Cóż, przypuszczam, że mówisz głównie o klasach Profiler, ale wyjaśnienie i tak jest ważne.
Partia SQL to zestaw jednej lub więcej instrukcji zgrupowanych razem i oddzielonych instrukcją GO. EG: więcej instrukcji SELECT i INSERT tworzy partię, jeśli na końcu ma GO.
Wywołanie RPC to połączenie przychodzące z aplikacji klienckiej do bazy danych. EG: usługa Windows, aplikacja internetowa, aplikacja Windows, cokolwiek wymaga połączenia z bazą danych, faktycznie wykonuje wywołanie RPC.
Teraz w Profiler zobaczysz wszystko, co dotyka serwera bazy danych. Partia z Management Studio, wywołanie RPC (które jest albo pakietem lub wywołaniem procedury składowanej) z zewnętrznej aplikacji, wykonanie procedury z Management Studio.
Każda z nich składa się z instrukcji TSQL, więc ta klasa Profiler jest przydatna na wypadek, gdybyś chciał rozszerzyć wykonanie, aby zobaczyć, co faktycznie zostało wykonane. Co wstawia, wybiera ... itd.
Najłatwiejszym sposobem na obejrzenie ich w Profiler jest włączenie tylko End End RPC lub End batch call, a zobaczysz tam wszystkie potrzebne statystyki (czas trwania, IO, procesor). Następnie przejdź dalej, włączając klasę instrukcji TSQL i kop głębiej.
Instrukcja Batch vs T-SQL
Jest to jasno określone w SQL Server BOL tutaj
Partia to grupa co najmniej jednej instrukcji Transact-SQL wysłanej w tym samym czasie z aplikacji do programu SQL Server w celu wykonania. Go to separator partii używany w większości aplikacji klienckich, w tym SSMS.
SQL Server kompiluje instrukcje partii w pojedynczą jednostkę wykonywalną, zwaną planem wykonania. Instrukcje w planie wykonania są następnie wykonywane pojedynczo.
W prostym znaczeniu opartym na moim zrozumieniu RPC ma miejsce, gdy wykonujesz zapisany proces przy użyciu interfejsu API klienta (np. W ADO.net CommandObject. Metoda wykonania)
Bardziej szczegółowe wyjaśnienie znajduje się w jednej z internetowych grup dyskusyjnych zamieszczających tutaj :
RPC „vs” partia ”to tryb wykonywania TDS, z którego korzysta ADO.NET (lub dowolny klient SQL Server). Kiedy wykonywana jest zwykła instrukcja SQL bez parametrów, używamy„ partii ”. Gdy wykonywany jest procedura przechowywana, używamy RPC (nie jest to to samo co RPC, co autonomiczne sieciowe zdalne wywołanie procedury, akurat nazywamy ten tryb RPC w TDS (protokół sieciowy SQL Server)). Ponadto, jeśli wykonasz wsad z parametrem, faktycznie używamy przechowywanego proc o nazwie sp_executesql i przekazujemy do niego samą instrukcję SQL oraz resztę parametrów, więc pojawia się ona również jako RPC.
Pablo Castro
Program Manager - zespół ADO.NET
Microsoft Corp.
GO
jest akceptowanym i domyślnym terminatorem wsadowym popularnych klientów, których używamy (tj. SSMS i sqlcmd), ale warto zauważyć, że rzeczywistyGO
ciąg jako terminator wsadowy może ulec zmianie i można go konfigurować.