Procedures
Хранимая процедура представляет собой заранее скомпилированный исполняемый объект, содержащий одну или несколько инструкций Transact-SQL. Хранимые процедуры могут иметь входные и выходные параметры, а также возвращать целочисленный код результата выполнения. Приложение может перечислять существующие хранимые процедуры с помощью функций для работы с каталогами.
Приложения ODBC для SQL Server должны вызывать хранимые процедуры только методом непосредственного выполнения. При подключении к более ранним версиям SQL Server, драйвер собственного клиента ODBC реализует метод SQL ServerSQLPrepare, создавая временную хранимую процедуру, которая потом вызывается через функцию SQLExecute. Когда SQLPrepare создает временную хранимую процедуру, которая только вызывает целевую хранимую процедуру, это генерирует излишнюю нагрузку по сравнению с непосредственным исполнением целевой хранимой процедуры. Даже если соединение с базой данных SQL Server уже существует, подготовка вызова требует лишнего цикла приема-передачи данных по сети и построения плана выполнения, который только вызывает план выполнения хранимой процедуры.
При выполнении хранимой процедуры приложения ODBC должны использовать конструкцию ODBC CALL. Драйвер оптимизирован так, что при обработке конструкции ODBC CALL использует механизм удаленного вызова процедур (RPC). Это эффективнее, чем механизм, используемый для посылки инструкции Transact-SQL EXECUTE на сервер.
Дополнительные сведения см. в разделе Выполнение хранимых процедур.