Использование курсоров с распределенными запросами
При использовании курсоров с распределенными запросами поддерживаются как нечувствительные, статичные курсоры, так и курсоры, управляемые набором ключей (если поставщик поддерживает необходимые функциональные возможности OLE DB). Динамические курсоры, запрашиваемые вместе с распределенными запросами, неявно преобразуются в курсоры, управляемые набором ключей.
Курсоры, управляемые набором ключей, поддерживаются в распределенных запросах, если все локальные и удаленные таблицы в запросе имеют уникальные ключи. Условия, при которых курсоры, управляемые набором ключей, поддерживаются в распределенном запросе, см. в разделе Требования к курсорам, управляемым набором ключей, для поставщиков OLE DB.
Если курсоры, управляемые набором ключей, разрешены в распределенном запросе, то с их помощью можно также обновлять все удаленные базовые таблицы при условии, что удовлетворяются все требования поставщика к возможности обновления. Требования к обновлению удаленных таблиц см. в разделе Требования UPDATE и DELETE для поставщиков OLE DB.
Примечание |
---|
При удалении или обновлении удаленного объекта для оптимистичного параллелизма необходимы столбцы типа данных timestamp. Если задан оптимистичный параллелизм, но в удаленной таблице отсутствует столбец timestamp, то возникает ошибка. В SQL Server 2000, если столбец timestamp не существовал, оптимистичный параллелизм для удаленных таблиц не поддерживался, но ошибка при этом не возникала. |
Примечание |
---|
Для распределенных запросов не требуется указывать пользовательскую транзакцию при уровне изоляции REPEATABLE READ или выше. В SQL Server 2000 при уровне изоляции REPEATABLE READ или выше пользовательская транзакция была необходима. |