SQL Server Native Client ODBC ドライバーは、必要に応じて、サーバーへのストアド プロシージャ呼び出しを自動的にバッチ処理します。 ドライバーは、ODBC CALL エスケープ シーケンスが使用されている場合にのみこれを行います。Transact-SQL EXECUTE ステートメントではこれを行いません。 ストアド プロシージャ呼び出しをバッチ処理すると、サーバーへのラウンド トリップの数が減り、パフォーマンスが大幅に向上します。
ドライバーは、複数の ODBC CALL エスケープ シーケンスを含むバッチを実行するときに、サーバーへのプロシージャ呼び出しをバッチ処理します。 また、バインドされたパラメーター配列が ODBC CALL エスケープ シーケンスと共に使用される場合は、プロシージャ呼び出しをバッチ処理します。 たとえば、行方向または列方向のいずれかのパラメーター バインドを使用して、5 つの要素を持つ配列を ODBC CALL SQL ステートメントのパラメーターにバインドする場合、 SQLExecute または SQLExecDirect が呼び出されると、ドライバーは 5 つのプロシージャ呼び出しを含む 1 つのバッチをサーバーに送信します。