如何分析 .NET 应用程序尝试连接哪个 SQL 服务器

如何分析 .NET 应用程序尝试连接哪个 SQL 服务器

我们有一个来自第三方的大型 .NET 应用程序,反汇编和理解代码会耗费大量时间。它是在 Release 模式下编译的。到 MS SQL 数据库的连接字符串被定义为在配置文件中,它们似乎是正确的。它使用了 6 个以上的不同数据库。

然而,当应用程序启动时,它会抛出一个错误,例如“在建立与 SQL 服务器的连接时发生网络相关或特定于实例的错误”,当应用程序失败时,应用程序的跟踪没有提供足够的信息来尝试连接。

是否可以在事先不知道 .NET 应用程序尝试连接哪个 SQL 服务器名称的情况下分析它尝试打开哪个连接?SQL 配置文件跟踪从其他计算机打开的服务器端连接,但最好的工具是什么,可以在特定计算机上查看它连接到哪个 SQL 服务器(也可能查看不成功的连接)

答案1

嗅探流量,因为这是唯一可以确定的方法。

认真点。嗅探流量。没有什么比通过嗅探发出此类消息的黑匣子更能解决问题了。

如果你反对使用第三方软件安装Microsoft 网络监视器(或新的微软消息分析器)。

SQL Server 客户端连接默认为 TCP 端口 1433,但端口号也可以是动态的。如果软件访问作为默认实例安装的专用 SQL Server 实例,则它可能会使用默认端口。

相关内容