它们是什么以及它们如何工作?
上下文恰好是 SQL Server
最佳答案
在 Windows 和 POSIX 系统上,命名管道都提供了一种在同一台计算机上运行的进程之间进行进程间通信的方法。命名管道为您提供了一种发送数据的方法,而不会因涉及网络堆栈而造成性能损失。
就像您有一个服务器监听 IP 地址/端口以接收传入请求一样,服务器也可以设置一个可以监听请求的命名管道。无论哪种情况,客户端进程(或数据库访问库)都必须知道发送请求的特定地址(或管道名称)。通常,存在常用的标准默认值(很像 HTTP 的端口 80,SQL Server 在 TCP/IP 中使用端口 1433;命名管道的\\.\pipe\sql\query)。
通过设置额外的命名管道,您可以运行多个数据库服务器,每个服务器都有自己的请求监听器。
命名管道的优点是它通常速度更快,并且可以释放网络堆栈资源。
-- 顺便说一句,在 Windows 世界中,您还可以使用命名管道连接到远程计算机——但在这种情况下,命名管道是通过 TCP/IP 传输的,因此您将损失性能。使用命名管道进行本地机器通信。
关于sql-server - 什么是命名管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/175579/