我可以修改企业库语义日志块使用的数据库表和存储过程吗?

本文关键字:数据库 存储过程 企业库 修改 语义 日志 我可以 | 更新日期: 2023-09-27 18:05:40

我想在语义日志SQLServerSink使用的默认数据库中添加一些列。

我可以修改企业库语义日志块使用的数据库表和存储过程吗?

如果是,怎么做,如果不是,有什么替代解决方案…

实际上负载列包含多个属性,我想对这些属性执行SQL查询,因此我想将它们存储到单独的列中。如果我们使用AzureTableStorageSink,它们会自动存储到单独的列中。

我可以修改企业库语义日志块使用的数据库表和存储过程吗?

要做到这一点,您需要修改企业库代码,SqlDatabaseLog类,或者您可以构建一个自定义接收器。

您可以使用以下包修改表和存储过程:https://www.nuget.org/packages/SemanticLogging.Database.Xml/

用法见https://github.com/DeHeerSoftware/SemanticLogging.Database.Xml

您不能添加自定义列,但此接收器将有效负载存储在xml列中,这更容易查询:https://www.simple-talk.com/sql/learn-sql-server/sql-server-xml-questions-you-were-too-shy-to-ask/