Sql server 哪个进程将劫持tcp端口?

Sql server 哪个进程将劫持tcp端口?,sql-server,windows,tcp-ip,Sql Server,Windows,Tcp Ip,我有一个SQL server在端口1433上运行。有时(可能总是)当有人试图重新启动实例时,端口1433被另一个进程劫持。当用户重新启动Windows服务器时,SQLservr.exe可以再次使用端口1433。因为这种情况只是偶尔发生,所以用户现在只报告了这种情况。此服务器是一个生产服务器,因此我不想停止实例以使用TCPView进行检查 那么,有没有一种方法可以监视哪个进程试图打开一个特定的端口(有问题的进程),但由于它已经打开(由SQL server)而失败?您可以使用或的记录器,它记录和显示

我有一个SQL server在端口1433上运行。有时(可能总是)当有人试图重新启动实例时,端口1433被另一个进程劫持。当用户重新启动Windows服务器时,SQLservr.exe可以再次使用端口1433。因为这种情况只是偶尔发生,所以用户现在只报告了这种情况。此服务器是一个生产服务器,因此我不想停止实例以使用TCPView进行检查

那么,有没有一种方法可以监视哪个进程试图打开一个特定的端口(有问题的进程),但由于它已经打开(由SQL server)而失败?

您可以使用或的记录器,它记录和显示程序的函数调用和其他操作

API监视器更易于使用。首先从API过滤器启用Internet和网络。您可以监视可疑进程并使用端口号筛选结果

下面的屏幕截图是一个python进程试图通过调用API侦听端口8000的示例


如果你想要一个能够预测未来其他工具将要做什么的工具,你没有软件问题,只有数学问题。没有“空闲时希望使用端口的进程”列表,端口要么在使用中,要么是空闲的。可能是ETW?感谢您提供答案,尽管我的问题显然与主题无关。虽然我也可以从编程的角度看到这一点,但应用程序可以测试端口,而不是发送一条通用消息,说明端口已经在使用(或者更麻烦的是,悄悄地停止运行),应用程序可能会发现哪个其他应用程序已经在使用端口,并向用户报告(或日志文件)。我会试试API监视器。