Использование серверных курсоров

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Если приложение ODBC задает любому из атрибутов курсора ODBC значение, отличное от значений по умолчанию, драйвер ODBC собственного клиента SQL Server запрашивает сервер для реализации курсора сервера API того же типа. Использование серверных курсоров API-интерфейса обеспечивает высвобождение памяти клиента и может существенно сократить объем сетевого трафика между клиентом и сервером.

Возможным недостатком серверных курсоров API является то, что они в настоящее время поддерживают не все инструкции SQL. Серверные курсоры API-интерфейса не могут быть использованы для выполнения следующих задач:

  • пакеты или хранимые процедуры, которые возвращают несколько результирующих наборов;

  • инструкции SELECT, которые содержат предложения COMPUTE, COMPUTE BY, FOR BROWSE или INTO;

  • инструкцию EXECUTE, которая содержит ссылку на удаленную хранимую процедуру.

При подключении к экземпляру SQL Server выполнение инструкции с этими характеристиками с помощью курсора сервера приводит к преобразованию курсора в результирующий набор по умолчанию. При подключении к более ранним версиям SQL Server это приводит к ошибке.

См. также

Способы реализации курсоров