0

在我的公司,我们正在从桌面应用程序转向在线应用程序。出于这个原因,我们正在将我们的数据从单个桌面数据库迁移到在线 SQL Server 数据库。在线数据库和桌面数据库的架构不同。这就是为什么我们必须编写一些 SQL 程序来将数据从桌面 db 迁移到在线。大约有 10 个存储过程来传输数据。表大约有 25 个。3-4 个表对于每个桌面数据库有大约 800K 到 900K 的数据。我们有大约 2000 个单独的数据库要传输。

我们的流程如下:

  • 所有 .bak 文件都将在一个文件夹中
  • 会有一个windows服务
  • 一次需要一个数据库,还原该数据库并使用这 10 个存储过程将数据从该数据库传输到在线。
  • 然后删除桌面数据库
  • 因此,该过程适用于所有数据库。

现在问题来了。在执行此过程时,任何随机存储过程都会超时。超时是绝对随机发生的。可能是它迁移了 5 个数据库的数据,并且在第 6 个加载数据时其中一个程序超时。另一个时间可能是第 10 个或第 12 个数据库。

为了克服这个问题,我们增加了 SQL 服务器内存,在每次数据库迁移后清除 DBCC 缓存。但它仍然会发生,尽管超时频率降低了。

另请注意,某些程序会对迁移的数据进行一些计算并加载另一个表。

在这种情况下,我真的在寻求帮助。我已尽力描述我的情况。有什么办法可以避免这个超时问题吗?

提前致谢。

4

0 回答 0