.Net 1.1 と SQL Server 2000 を使用してエンタープライズ アプリケーションを構築しています。読み取りコミット分離レベルを使用しています。しかし、非機能要件の変更により、非反復読み取りやファントムに対する対策が必要になりました。2 つのオプションが表示されます。
行のバージョン管理を導入して、行がトランザクション内で読み取られてから変更されたかどうかを確認します。これは、テーブルに VersionId 列を追加し、行が変更されるたびに値をインクリメントすることによって行われます。これで問題は解決しますが、すべてのストアド プロシージャとアプリケーションのデータ アクセス層を書き直す必要があります。
SQL Server 2005 に移行し、スナップショット分離レベルを使用します。これにより、コードを書き直す手間が省けますが、いくつかの課題があります。スナップショット分離レベルは .Net 1.1 では不明であるため、手動で設定するには、サーバーへの余分な往復を行う必要があります。b. スナップショット分離レベルでは tempdb のスキーマを変更できないため、ストアド プロシージャで一時テーブルを使用することはできません。これを回避する方法がわかりません。
アイデアや提案は大歓迎です