我正在运行 SQL Azure,我有以下案例。
我有两个事务W(作者)和R(读者)。两者都使用 RCSI(使用 LTM 的具有 TransactionScopes 的 .net 应用程序)运行。该R交易在同一时间启动W,并继续执行SELECT语句读取由该交易的书面表格W。
通常,事务R在W提交其更改后立即看到所有更改。但是,有时事务会R看到没有事务最近提交的状态W。
问题是:
RCSI 是否保证R始终看到表的最新状态?根据:https :
//docs.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-locking-and-row-versioning-guide?view=
sql-server- 2017读提交应该总是获取在执行SELECT查询时可用的行的最新版本。但是,当有两个独立的会话时,是否可以保证?