我正在使用 .Net 1.1 和 SQL Server 2000 构建企业应用程序。我使用读提交隔离级别。然而,非功能性需求的变化使得有必要对不可重复读取和幻像采取措施。我看到两个选项:
引入行版本控制以检查行在事务中读取后是否已被修改。这是通过将 VersionId 列添加到表 abd 来完成的,该列在行更改时递增该值。这将解决问题,但需要我们重写所有存储过程和应用程序的数据访问层。
迁移到 SQL Server 2005 并使用快照隔离级别。这样可以省去我们重写代码的麻烦,但也有一些挑战:快照隔离级别在 .Net 1.1 中是未知的,因此我们必须额外往返服务器以手动设置它。湾。我们不能在存储过程中使用临时表,因为快照隔离级别不允许更改 tempdb 的架构。我不知道如何解决这个问题。
任何想法或建议都非常好