【问题标题】:How to read SQL server logs (XEL) files in Java如何在 Java 中读取 SQL Server 日志 (XEL) 文件
【发布时间】:2020-04-09 19:30:03
【问题描述】:

我正在尝试用 Java 处理 SQL Server 日志文件 (XEL) 并转换为其他格式,例如 JSON。我找不到任何有关如何读取 XEL 文件的文档,也没有可用于读取 XEL 文件的库。

任何指针都会有所帮助。提前致谢

【问题讨论】:

  • 您可以select data from Expression Encoding Log files in SQL 并在 Java(JDBC 或其他任何东西)中获取结果,但我不知道解析器库或任何可以在 Java 中使用的东西。
  • @deHaar 如果 xel 文件存储在 Azure blob 中似乎不起作用。您对此有什么参考吗?如何通过 JDBC 对 Azure blob 进行身份验证?
  • @deHaar 如果我下载文件并尝试查询错误SQL Error [40538] [S0003]: A valid URL beginning with 'https://' is required as value for any filepath specified 也会失败

标签: java sql-server apache-spark azure-sql-database


【解决方案1】:

确实,我试图搜索一个库来解析 Java 中的 XEL 格式文件,但失败了。我认为您可能应该考虑一种解决方案来满足您的需求。

这是我想到的一些解决方法。

  1. 有一些工具可以帮助解析XEL格式文件,例如PowerShell模块sqlcollaborative/dbatoolsLog Parser 2.2Read-DbaXEFile函数。对于Log Parser 2.2 的使用,请参考博客How to parse SQL Server Error Log with Log Parser 2.2Microsoft’s Log Parser Utility: Swell ETL。函数Read-DbaXEFile,请看源代码https://github.com/sqlcollaborative/dbatools/blob/master/functions/Read-DbaXEFile.ps1

  2. 在 C# 中有一个名为 XELite 的 nuget 包,它是用于从 XEL 文件或实时 SQL 流中读取 XEvent 的跨平台库。

考虑到您的情况,我认为您可以尝试使用两种解决方法来解析存储在 Azure 存储中的 XEL 格式文件,首先在 C#PowerShell 中的 Azure Functions 中使用 Blob Trigger,或者在 Azure 数据工厂中使用Custom activity,提取这些数据,以便在 Spark 中进行进一步的数据处理。

【讨论】:

  • 感谢您的指点。我们已经尝试了其中的一些选项,但问题是它没有很好地与我们现有的 Spark 集群或基于 Java 的解决方案集成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多