如何让SQL Server尾随日志文件并将新行写入表中?

时间:2012-10-24 15:31:43

标签: sql-server bulkinsert tail logfiles

我有一个创建文本日志文件的应用程序,我有一个每日SQL Server作业截断日志表并使用批量插入来加载当前日期日志。日志文件由许多线程写入,如果不按线程手动排序,则很难读取。

有没有办法让SQL Server'尾'成为给定文件并在不等待日终批处理的情况下使表保持最新状态?我宁愿不在白天多次运行批处理,因为该表将由Web服务监视/搜索/显示。目前还不能从应用程序直接记录到表中。

1 个答案:

答案 0 :(得分:1)

我会通过CLR和工作完成它。

  1. 要有一个以一定间隔运行的工作。
  2. 创建接受文件中文件名和当前行号的CLR函数。
  3. CLR将打开文件并根据给定号码获取指定行后的数据并返回sql server。

    行号将存储在辅助表中,以便将来进行同步。

    以下是文章如何编写CLR以将表返回给sql server:http://msdn.microsoft.com/en-us/library/ms131103.aspx

    祝你好运。