2009-07-16 3 views
10

最も速いSQL Server接続プロトコルとは何ですか?最速のSQL Serverプロトコル?

関連:どのプロトコルがリモートからローカルで利用可能であり、これが最速プロトコルの選択に影響しますか?

+0

も参照してください[名前付きパイプとは何ですか](http://stackoverflow.com/questions/175579/what-are-named-pipes) – Vadzim

答えて

14

VIA。これは最速のSQLプロトコルであり、専用ハードウェア上で実行され、SQL Serverのベンチマーク記録に使用されます。 VIAプロトコルは、Microsoftによって を推奨されていません、およびMicrosoft SQL Serverの 将来のバージョンで削除されること

注意。それはしかし、SQL Server 2008でサポートされている 、 のSQL Server 2008 R2とSQL Server 2012

共有メモリは、性能として次のですが、それだけで、クライアントと実際にメモリを共有することができますサーバーの間で動作します、ローカルのみ。

通常のハードウェアでのリモート接続の場合は、TCPです。通常の操作では、Named Pipesと同じパフォーマンスを持ちます。低速またはビジー状態のネットワークでは、それは事実documented in MSDN、堅牢性とスピードでNPを凌駕:名前付きパイプの

、ネットワーク 通信は、通常より インタラクティブです。他のピアが 読み取りコマンドを使用してピアに尋ねるまで、ピアはデータ を送信しません。ネットワークは、それが データの読み出しを開始する前に がのぞく名前付きパイプ 一連のメッセージを必要とする一般的に読み。これらは、ネットワークが遅い で非常にコストがかかる可能性があり、 ネットワークトラフィックが過剰になり、他のネットワーククライアントの に影響します。名前付きパイプ

もタイムアウトを接続クライアントにつながることができます:

TCP/IPソケットもバックログ キューをサポートしています。これは、SQL Serverに を接続しようとしているとき、パイプ忙しい エラーにつながる可能性が名前付きパイプ に比べて限定された 平滑化効果を提供することができます。NPは試みを接続スキップ

は、残念ながら、通常のクライアントの構成は第1のNPをしようと、これは(tcp:servernameを介して、または接続文字列で、)クライアントのネットワーク設定でTCPを強制する、(上記の理由で)接続の問題を引き起こす可能性がありますし、負荷がかかった状態でTCPを直感的に使うことができます。

私は上で引用した同じリンクが、設定が簡単で、おそらくファイアウォールでSQL TCPポートを開く必要はないと賞賛していますが、私とBOLの見解が異なるところがあります。

+2

は、Win 2000またはそれ以前のMDACからアップグレードした場合にのみ初めてNPになります。クリーンなXPビルドは、まずtcpを持っています。 – gbn

+0

これにはソースがありますか?具体的には、共有メモリが最も速くなっています(私は明らかにそれがどうなるか分かります)。 – PeterX

7

Shared memory is fastest for local(クライアントと同じマシンのサーバー)名前付きパイプは恐らくローカル用に2度目の断食です。リモートの皆がTCP-IPを使用していて、残りのプロトコルはネットワーキング履歴に変わります。

+3

ローカルでは「同じマシンで実行中」を意味します。共有メモリがどのように動作するかということからローカルネットワーク。 – ichiban

+0

上記のとおり、これをバックアップするソースがありますか? (私はなぜそうなるのか分かります)。 – PeterX

+0

@PeterXスタックオーバーフローに関する他の質問につきましては、名前付きパイプとtcp-ip(同じマシンの場合)の速度はほぼ同じです。 https://stackoverflow.com/questions/10872557/how-slow-are-tcp-sockets-compared-to-named-pipes-on-windows-for-localhost-ipc – MatthewMartin

0

Using Shared Memory Protocol

SQL Serverのインストール時に選択したネットワークライブラリは、サーバとクライアント間の通信の速度に影響を与えることができます。 3つの主要ネットワークライブラリのうち、TCP/IPが最も高速で、マルチプロトコルが最も遅いです。速度の優位性のために、サーバーとクライアントの両方でTCP/IPを使用したいと思うでしょう。また、不必要なオーバーヘッドにすぎないため、サーバーに未使用のネットワークライブラリをインストールしないでください。**

0

名前付きパイプは、最も高速なSQL Serverプロトコルです。

関連する問題