在 SQL Server 中的日常操作期间搜索 DB

问题描述

我在搜索sql Server 和日常操作方面遇到了非常困难的情况。 每两个小时运行一个程序,并且在至少 5 分钟内在另一个程序上执行的搜索不起作用,因为例行操作会清理存储所有数据的主表,经过一些详细说明后,该表将重新填充新数据。>

有没有最佳方法来管理这 5 分钟?

我们尝试交换表或重命名它们,但关系将丢失,丢失的数据将被级联删除

最好的解决方案是让数据始终可达。 (该表大约有 350 万行)

解决方法

执行此操作的一种方法是确保例行操作清除表并使用事务重新填充。然后在用于搜索的代码中,您需要将 TRANSACTION ISOLATION LEVEL 设置为 SNAPSHOT (https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server)。这允许您在清理/重新填充操作进行时搜索其中的数据。