1

目前,我想在将数据存储到数据库时向用户提供此选项。

将数据保存到文件并使用后台线程将数据从文本文件读取到 SQL 服务器。

我的程序流程: - 不断来自服务器的数据流(每秒 100 个)。- 希望将数据存储在文本文件中,并使用后台线程将文本文件中的数据不断复制回 SQL 数据库,作为另一个用户选项。

以前有这样做过吗?

干杯。

4

1 回答 1

1

你的问题确实有点令人困惑。

我猜你的意思是:

  • 每秒 100 行来自某个源或服务器(例如日志条目)
  • 用户的一个选项是文本文件缓存:行存储在文本文件中,并定期将文本文件内容的增量副本执行到(一个)SQL Server 表中。
  • 用户的另一个选择是直接插入:数据直接存储在数据库中,中间没有文本文件。

我对吗?

如果是,那么您应该执行以下操作:

  • INSERT对表的操作创建触发器
  • 在该触发器中,检查正在插入的用户。如果用户禁用了文本文件缓存,则可以继续插入。否则,数据将被重定向到文本文件(或缓存表)
  • 创建一个存储过程,检查缓存表或文本文件中的新数据,将新数据复制到实际表中,并删除缓存数据。
  • 创建每分钟、每小时、每天在存储过程之上运行的 SQL Server 代理作业...

由于从 T-SQL 到文本文件的接口不是很灵活,我建议改用缓存表。为什么是文本文件?

就此而言,为什么要在将数据插入表之前对其进行缓存?如果您解释问题的背景,也许我们可以提出更好的解决方案。

于 2010-11-11T23:43:22.833 回答