sql-server - 什么是命名管道?

标签 sql-server pipe named-pipes

它们是什么以及它们如何工作?

上下文恰好是 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/

相关文章:

sql-server - 在 VB.NET 中获取 SQL Server 表中的行数

c - 如何在你自己的 Linux shell 中实现管道?

python - 在Windows操作系统上使用Go和Python实现客户端-服务器模型

sql - SQL Server 和 mysql 上的增量备份

sql - 如何在 SQL 连接中使用 lat/lng 半径进行选择

linux - 单个 bash 行中的嵌套命令

linux - 使用管道连接 shell 中的子进程

python - 主程序+配置模块的代码设计

c# - 通过命名管道在 MQL5(或 C++)和 C# 之间进行交互

sql-server - Sql Server 中的多行到一个逗号分隔值