ネットワーク プロトコルの選択Choosing a Network Protocol

SQL Server データベース エンジンSQL Server Database Engineに接続するには、ネットワーク プロトコルを有効にする必要があります。To connect to SQL Server データベース エンジンSQL Server Database Engine you must have a network protocol enabled. MicrosoftMicrosoft SQL ServerSQL Server 同時にいくつかのプロトコルで要求を処理することができます。SQL ServerSQL Server can service requests on several protocols at the same time. クライアントは、1 つのプロトコルを使用して SQL ServerSQL Server に接続します。Clients connect to SQL ServerSQL Server with a single protocol. SQL ServerSQL Server がどのプロトコルでリッスンしているかをクライアント プログラムによって判別できない場合は、複数のプロトコルを順に試みるようにクライアントを構成してください。If the client program does not know which protocol SQL ServerSQL Server is listening on, configure the client to sequentially try multiple protocols. ネットワーク プロトコルを有効化、無効化、または構成するには、SQL ServerSQL Server 構成マネージャーを使用します。Use SQL ServerSQL Server Configuration Manager to enable, disable, and configure network protocols.

共有メモリShared Memory

共有メモリは、使用できる最も単純なプロトコルであり、構成可能な設定はありません。Shared memory is the simplest protocol to use and has no configurable settings. 共有メモリ プロトコルを使用するクライアントは、同じコンピューター上で実行されている SQL ServerSQL Server インスタンスにしか接続できないため、ほとんどのデータベース操作にとって実用的ではありません。Because clients using the shared memory protocol can only connect to a SQL ServerSQL Server instance running on the same computer, it is not useful for most database activity. 共有メモリ プロトコルは、他のプロトコルが正しく構成されていない可能性がある場合に、トラブルシューティングを行うために使用できます。Use the shared memory protocol for troubleshooting when you suspect the other protocols are configured incorrectly.

注意

MDAC 2.8 以前を使用しているクライアントでは、共有メモリ プロトコルを使用できません。Clients that use MDAC 2.8 or earlier cannot use shared memory protocol. このようなクライアントで共有メモリ プロトコルの使用を試みた場合は、自動的に名前付きパイプ プロトコルに切り替わります。If these clients try this, they are automatically switched to the named pipes protocol.

TCP/IPTCP/IP

TCP/IP は、インターネットで広く使われている一般的なプロトコルです。TCP/IP is a common protocol widely used over the Internet. このプロトコルは、多様なハードウェア アーキテクチャやオペレーティング システムを備えたコンピューターが相互に接続されているネットワーク上の通信を実現します。It communicates across interconnected networks of computers that have diverse hardware architectures and various operating systems. TCP/IP には、ネットワーク トラフィックをルーティングするための標準や、高度なセキュリティ機能も含まれています。TCP/IP includes standards for routing network traffic and offers advanced security features. TCP/IP は、今日の業務で最も一般的に使用されているプロトコルです。It is the most popular protocol that is used in business today. TCP/IP を使用するためにコンピューターを構成する作業は複雑になることもありますが、ほとんどのネットワーク コンピューターには適切な構成が既に適用されています。Configuring your computer to use TCP/IP can be complex, but most networked computers are already correctly configured. SQL ServerSQL Server 構成マネージャーで表示されない TCP/IP 設定を構成するには、MicrosoftMicrosoft Windows のドキュメントを参照してください。To configure the TCP/IP settings that are not exposed in SQL ServerSQL Server Configuration Manager, see the MicrosoftMicrosoft Windows documentation.

名前付きパイプNamed Pipes

名前付きパイプは、ローカル エリア ネットワークのために開発されたプロトコルです。Named Pipes is a protocol developed for local area networks. このプロトコルでは、1 つのプロセスが、メモリの一部を使用して別のプロセスに情報を渡します。このとき、1 つ目のプロセスの出力が 2 つ目のプロセスの入力になります。A part of memory is used by one process to pass information to another process, so that the output of one is the input of the other. 2 つ目のプロセスは、ローカル (1 つ目のプロセスと同じコンピューター上にある) またはリモート (ネットワーク コンピューター上にある) のどちらでもかまいません。The second process can be local (on the same computer as the first) or remote (on a networked computer).

名前付きパイプとします。TCP/IP ソケットNamed Pipes vs. TCP/IP Sockets

高速ローカル エリア ネットワーク (LAN) 環境の場合、TCP/IP ソケットを使用するクライアントと、名前付きパイプを使用するクライアントには、パフォーマンスの点でほとんど差はありません。In a fast local area network (LAN) environment, Transmission Control Protocol/Internet Protocol (TCP/IP) Sockets and Named Pipes clients are comparable with regard to performance. ただし、両者のパフォーマンスの違いは、ワイド エリア ネットワーク (WAN) やダイヤルアップ ネットワークなどの低速のネットワークの場合に明らかになります。However, the performance difference between the TCP/IP Sockets and Named Pipes clients becomes apparent with slower networks, such as across wide area networks (WANs) or dial-up networks. これは、プロセス間通信 (IPC) メカニズムによるピア間の通信方法が異なるためです。This is because of the different ways the interprocess communication (IPC) mechanisms communicate between peers.

名前付きパイプの場合、ネットワーク通信は通常、より対話的なものになります。For named pipes, network communications are typically more interactive. ピアは、別のピアから read コマンドによる要求があるまでデータを送信しません。A peer does not send data until another peer asks for it using a read command. ネットワークでの読み取りでは通常、データの読み取りを開始する前に、一連の名前付きパイプ メッセージを処理する必要があります。A network read typically involves a series of peek named pipes messages before it starts to read the data. これらは低速のネットワークにとって大きなコストとなり、過剰なネットワーク トラフィックを引き起こすので、他のネットワーク クライアントに影響を及ぼします。These can be very costly in a slow network and cause excessive network traffic, which in turn affects other network clients.

また、ローカル パイプとネットワーク パイプのどちらを指しているのかを区別することも重要です。It is also important to clarify if you are talking about local pipes or network pipes. サーバー アプリケーションが、SQL ServerSQL Server のインスタンスを実行しているコンピューター上でローカルに実行されている場合、ローカルの名前付きパイプ プロトコルを選択できます。If the server application is running locally on the computer that is running an instance of SQL ServerSQL Server, the local Named Pipes protocol is an option. ローカルの名前付きパイプはカーネル モードで実行され、非常に高速です。Local named pipes runs in kernel mode and is very fast.

TCP/IP ソケットの場合、データ伝送はより効率的でオーバーヘッドも少なくて済みます。For TCP/IP Sockets, data transmissions are more streamlined and have less overhead. また、データ伝送にウィンドウ化や遅延確認応答など、TCP/IP ソケットのパフォーマンス向上メカニズムを利用できます。Data transmissions can also take advantage of TCP/IP Sockets performance enhancement mechanisms such as windowing, delayed acknowledgements, and so on. これは、低速ネットワークの場合に非常に役立ちます。This can be very helpful in a slow network. アプリケーションの種類によっては、このようなパフォーマンスの違いが大きく影響します。Depending on the type of applications, such performance differences can be significant.

TCP/IP ソケットは、バックログ キューもサポートしています。TCP/IP Sockets also support a backlog queue. 名前付きパイプでは SQL ServerSQL Server への接続試行時にパイプがビジー状態になるエラーが生じる可能性があるので、それに比べると、接続をある程度スムーズにできる効果があります。This can provide a limited smoothing effect compared to named pipes that could lead to pipe-busy errors when you are trying to connect to SQL ServerSQL Server.

一般に、TCP/IP は低速の LAN、WAN、またはダイヤルアップ ネットワークに適しています。一方、ネットワークの速度に関する問題がない場合は、名前付きパイプの方が多くの機能を備えており、使いやすく、構成できるオプションも多いので適している可能性があります。Generally, TCP/IP is preferred in a slow LAN, WAN, or dial-up network, whereas named pipes can be a better choice when network speed is not the issue, as it offers more functionality, ease of use, and configuration options.

プロトコルの有効化Enabling the Protocol

プロトコルを使用するには、クライアントとサーバーの両方で有効にする必要があります。The protocol must be enabled on both the client and server to work. サーバーは、有効なすべてのプロトコルで同時に要求をリッスンできます。The server can listen for requests on all enabled protocols at the same time. クライアントは、プロトコルを選択することも、SQL ServerSQL Server 構成マネージャーの一覧の順でプロトコルを試すこともできます。Client computers can pick one, or try the protocols in the order listed in SQL ServerSQL Server Configuration Manager.

プロトコルを構成して データベース エンジンDatabase Engineに接続する方法に関する簡単なチュートリアルについては、「チュートリアル:データベース エンジンの概要」を参照してください。For a short tutorial about how to configure protocols and connect to the データベース エンジンDatabase Engine, see Tutorial: Getting Started with the Database Engine.