1. ホーム
  2. sql-server

[解決済み] ネームドパイプとは何ですか?

2022-04-29 19:53:22

質問

どのようなもので、どのように機能するのですか?

コンテキストは、たまたまSQL Server

解決方法は?

WindowsでもPOSIXシステムでも、名前付きパイプは、同じマシン上で動作するプロセス間で通信を行うための方法を提供します。 名前付きパイプが提供するのは、ネットワークスタックを介することによるパフォーマンス上のペナルティを受けることなくデータを送信する方法です。

サーバーがIPアドレスやポートをリッスンしてリクエストを受けるように、サーバーも名前付きパイプをセットアップしてリクエストを受けることができるのです。 いずれの場合も、クライアントプロセス(またはDBアクセスライブラリ)は、リクエストを送信するための特定のアドレス(またはパイプ名)を知っている必要があります。 多くの場合、一般的に使用される標準的なデフォルトが存在します(HTTPのポート80と同様に、SQLサーバーはTCP/IPのポート1433を使用します。)

さらに名前付きパイプを設定することで、複数のDBサーバーを稼働させ、それぞれにリクエストリスナーを持たせることができます。

名前付きパイプの利点は、通常よりはるかに高速で、ネットワークスタックのリソースを解放することです。

-- ちなみに、Windowsの世界では、リモートマシンとの名前付きパイプも可能です -- ただし、その場合、名前付きパイプはTCP/IPで転送されるので、パフォーマンスが落ちます。 名前付きパイプはローカルマシンの通信に使いましょう。