【问题标题】:How can have SQL Server tail a log file and write new rows to a table?如何让 SQL Server 跟踪日志文件并将新行写入表?
【发布时间】:2012-10-24 15:31:43
【问题描述】:

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

有没有办法让 SQL Server 'tail' 给定文件并保持表是最新的,而无需等待一天结束的批处理?我不想在白天多次运行批处理,因为该表将由 Web 服务监视/搜索/显示。从应用程序直接记录到表中目前也不是一个选项。

【问题讨论】:

    标签: sql-server bulkinsert tail logfiles


    【解决方案1】:

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

    1. 让作业以特定间隔运行。
    2. 创建接受文件名和文件中当前行号的 CLR 函数。

    CLR 将打开文件并根据给定的数字将在指定行之后获取数据并返回到 sql server。

    行号将存储在辅助表中以供将来同步。

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

    祝你好运。

    【讨论】:

    • 感谢您的意见。我们已经有了一些 CLR 函数,这可能会很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    相关资源
    最近更新 更多