WebSurfer's Home

トップ > Blog 1   |   ログイン
APMLフィルター

SQL Server 接続プロトコル順序

by WebSurfer 2016年11月16日 23:43

SQL Server の接続プロトコルとして (1) 共有メモリ、(2) TCP/IP、(3) 名前付きパイプが有効になっている場合、どの順序で接続をトライするかという話を書きます。

SQL Server の Protocol Order

元は MSDN Forum の「アプリケーションからSQLServerへの接続プロトコル(名前付きパイプ)について」という表題のスレッドでの話です。

MSDN Forum で回答を書くためググって調べて見つけた記事 SQL Server clients may change protocols when the client computers try to connect to an instance of SQL Server に書いてあったことですが、レジストリの ProtocolOrder で指定されている順番で接続をトライするとのことです。

確かに自分の PC(SQL Server 2005 Developer Edition と SQL Server 2008 Express がインストールされています)のレジストリを見ると、上の画像のような設定がありました。

レジストリの設定は変えてないので、デフォルトで sm tcp np の順、即ち、(1) 共有メモリ ⇒ (2) TCP/IP ⇒ (3) 名前付きパイプの順に接続をトライしていくようです。(実際にその順番で接続をトライしているかは確認していませんが)

MSDN Forum の質問者さんのケースでは「時々名前付きパイプで接続しにいき失敗している」ということでしたが、時々何らかの問題で TCP/IP の接続に失敗した後、最後に名前付きパイプで接続に行って失敗し、「SQL Server への接続を確立しているときに・・・ (provider: 名前付きパイプ プロバイダ・・・」というエラーメッセージになったものと思われます。

Tags:

SQL Server

About this blog

2010年5月にこのブログを立ち上げました。その後 ブログ2 を追加し、ここは ASP.NET 関係のトピックス、ブログ2はそれ以外のトピックスに分けました。

Calendar

<<  2017年4月  >>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

View posts in large calendar