会社行きたくなかったんです。

自由になりたくて会社辞めました

SQL Server

SQL Serverが接続に使用しているプロトコルを確認する方法

投稿日:

MicrosoftのSQL serverは、SQL Server 2000 以降、既定のプロトコルは TCP/IP となっていると言う情報があるので、TCP/IPで通信しているものだと思い込んでいましたが、実際には、共有メモリ、名前付きパイプ、TCPの3パターンがあるようです。
ローカルで自分自身に接続するだけなら、共有メモリで接続するようです。

スポンサーリンク

実際にそうなっているか調べてみました。

select session_id,net_transport
from sys.dm_exec_connections

というSQLを実行します。

まずは、自分自身にインストールされたSQL serverに接続してチェックしてみました。

Shared memory となっているので、共有メモリということですね。

次は、Azure Databeseに接続してみました。
セッションがたくさんあって、Named pipeとTCPとなっているので、名前付きパイプとTCP/IPを使って接続しているようです。

Shared memory となっているので、共有メモリということですね。

次のように接続文字列を変更することで、

TCP/IPでの接続:tcp:接続先SQLServerホスト名
名前付きパイプでの接続 :np:接続先SQLServerホスト名
共有メモリでの接続 :lpc:接続先SQLServerホスト名

接続方法を指定できます。

自分自身にインストールされたSQL serverに接続して試してみたところ、共有メモリとTCP/IPでの接続はできました。
名前付きパイプができなかったのですが、構成マネージャーを見てみたら、ただ単に無効にしてあっただけでした。
設定変更したらできました。

Azureの方は、TCP/IPはOKでした。
共有メモリはダメです。
当たり前ですね。
なぜか名前付きパイプもダメでした。
名前付きパイプも使用して接続しているはずなのに、指定するとダメ。
調べてもわかりませんでした。

-SQL Server

Copyright© 自由になりたくて会社辞めました , 2019 AllRights Reserved Powered by AFFINGER4.