Using Cursors with Distributed Queries
When using cursors with distributed queries, both insensitive, static, and keyset-driven cursor types are supported when the provider supports the necessary OLE DB functionality. Dynamic or forward-only cursors requested with a distributed query are implicitly converted to keyset-driven cursors.
A keyset-driven cursor is supported on a distributed query if all local and remote tables in the query have a unique key. For the conditions under which a keyset cursor is supported on a distributed query, Keyset-Driven Cursors Requirements for OLE DB Providers.
If a keyset-driven cursor is allowed on a distributed query, then it can also be used to update any of the underlying remote tables if the provider requirements for updatability are met. For the requirements for updates on a remote table, see UPDATE and DELETE Requirements for OLE DB Providers.
Note |
|---|
timestamp columns are required for optimistic concurrency if the update or delete targets are remote. An error occurs if optimistic concurrency is specified but the remote table does not contain a timestamp column. In SQL Server 2000, if a timestamp column did not exist, optimistic concurrency was not maintained for the remote update, but no error was raised. |
Note |
|---|
For distributed queries, there is no requirement that a user transaction be specified if the isolation level is REPEATABLE READ or higher. In SQL Server 2000, a user transaction was required if the isolation level was REPEATABLE READ or higher. |

Note