【发布时间】:2020-02-15 00:14:55
【问题描述】:
有没有办法在命令级别将关联 ID 从 C# 代码发送到 SQL Server?
例如,使用x-correlation-id 是一种可接受的方式来跟踪系统所有部分的请求。我们正在寻找一种方法将此字符串值传递给 SQL Server 中的存储过程调用。
我花了一些时间阅读文档和帖子,但我找不到任何有用的东西。
有人可以告诉我是否有办法做到这一点?目标是能够通过所有服务(我们现在可以)和数据库调用(我们不能并寻找解决方案)跟踪特定调用。
【问题讨论】:
-
我不确定你想通过将
x-correlation-id传递给存储过程来实现什么。但是对于跟踪部分,您应该在应用程序中有适当的日志记录或分析,它可以告诉您在哪个x-correlation-id的上下文中调用了哪个存储过程。我认为您不需要在 SQL 服务器命令级别对其进行跟踪。 -
在微服务架构环境中,追踪事物到所到之处非常有帮助。甚至实体框架也有标记的概念,在运行脚本中显示为注释。当您拥有一个在一小时内运行数百万笔交易的实时环境,并且您以这样一种方式构建它时,您可以标记一个特定的操作,它让您可以看到它进入系统内部的任何地方,除了数据库,那么恕我直言,有些东西丢失了.我们可以对除了数据库之外的所有东西进行分析。我认为 MS 需要将其添加到 SQL Server。
标签: c# sql-server stored-procedures tracking cross-correlation