懂得快照隔离和行版本控制
了解快照隔离和行版本控制ALLOW_SNAPSHOT_ISOLATION OFFtry{command3.ExecuteNonQuery()Console.WriteL
了解快照隔离和行版本控制
ALLOW_SNAPSHOT_ISOLATION OFF"; try { command3.ExecuteNonQuery(); Console.WriteLine( "CLEANUP: Snapshot isolation turned off in AdventureWorks."); } catch (Exception ex) { Console.WriteLine("CLEANUP FAILED: {0}", ex.Message); } command3.CommandText = "DROP TABLE TestSnapshotUpdate"; try { command3.ExecuteNonQuery(); Console.WriteLine("CLEANUP: TestSnapshotUpdate table deleted."); } catch (Exception ex) { Console.WriteLine("CLEANUP FAILED: {0}", ex.Message); }}SELECT * FROM TestSnapshotUpdate WITH (UPDLOCK) WHERE PriKey BETWEEN 1 AND 3
使用 UPDLOCK 锁提示将阻止在第一个事务完成之前尝试更新行的任何行。这样可以保证所选行以后在事务中进行更新时不会发生冲突。请参见“SQL Server 联机图书”中的“锁定提示”。
如果应用程序中存在许多冲突,快照隔离也许不是最佳的选择。只有在确实需要时,才应使用提示。应用程序的设计不应使其操作始终依赖于锁提示。