我想向语义日志记录 SQLServerSink 使用的默认数据库添加更多列。
我可以更改 Enterprise Library Semantic Logging Block 使用的数据库表和存储过程吗?
如果是,如何,如果不是,那么替代解决方案是什么..
实际上,有效负载列包含多个属性,我想对这些属性触发 SQL 查询,因此我想将它们存储到单独的列中。如果我们使用 AzureTableStorageSink,它们会自动存储到单独的列中。
我想向语义日志记录 SQLServerSink 使用的默认数据库添加更多列。
我可以更改 Enterprise Library Semantic Logging Block 使用的数据库表和存储过程吗?
如果是,如何,如果不是,那么替代解决方案是什么..
实际上,有效负载列包含多个属性,我想对这些属性触发 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 -太害羞了,不敢问/