Поделиться через


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

При использовании курсоров с распределенными запросами поддерживаются как нечувствительные, статичные курсоры, так и курсоры, управляемые набором ключей (если поставщик поддерживает необходимые функциональные возможности OLE DB). Динамические курсоры, запрашиваемые вместе с распределенными запросами, неявно преобразуются в курсоры, управляемые набором ключей.

Курсоры, управляемые набором ключей, поддерживаются в распределенных запросах, если все локальные и удаленные таблицы в запросе имеют уникальные ключи. Условия, при которых курсоры, управляемые набором ключей, поддерживаются в распределенном запросе, см. в разделе Требования к курсорам, управляемым набором ключей, для поставщиков OLE DB.

Если курсоры, управляемые набором ключей, разрешены в распределенном запросе, то с их помощью можно также обновлять все удаленные базовые таблицы при условии, что удовлетворяются все требования поставщика к возможности обновления. Требования к обновлению удаленных таблиц см. в разделе Требования UPDATE и DELETE для поставщиков OLE DB.

ms191533.note(ru-ru,SQL.90).gifПримечание.
При удалении или обновлении удаленного объекта в SQL Server 2005 для оптимистичного параллелизма необходимы столбцы timestamp. Если задан оптимистичный параллелизм, но в удаленной таблице отсутствует столбец timestamp, то возникает ошибка. В SQL Server 2000, если столбец timestamp не существовал, оптимистичный параллелизм для удаленных таблиц не поддерживался, но ошибка при этом не возникала.
ms191533.note(ru-ru,SQL.90).gifПримечание.
Для распределенных запросов в SQL Server 2005 не требуется указывать пользовательскую транзакцию при уровне изоляции REPEATABLE READ или выше. В SQL Server 2000 при уровне изоляции REPEATABLE READ или выше пользовательская транзакция была необходима.

См. также

Другие ресурсы

DECLARE CURSOR (Transact-SQL)
Using Cursors

Справка и поддержка

Получение помощи по SQL Server 2005