SQLServerの構成マネージャーで設定できる通信プロトコルの動作についてご教授ください。
#環境
Windows10
SQLServer2019
(他にSQLServer2014、SQLServer2017が同居)
自PCのIPアドレス:192.168.11.3
#知りたいこと
自分自身のPC上に構築されたSQLServerに接続する場合の、SQLServerの構成マネージャーで設定できる通信プロトコル
(共有メモリ、名前付きパイプ、TCP/IP)がどのような動きをしているのか知りたいです。
#状況
SQLServerの構成マネージャーにてSQLServer本体のプロトコルの設定が以下の様になっていました。
共有メモリ:有効
名前付きパイプ:無効
TCP/IP:無効
(SQL Native Client XX.Xの構成については32bitも64bitも全て有効です)
上記状態でUDLファイルを使用してSQLServerのインスタンスに接続しようと画面上の
「1.サーバー名を選択または入力します」の項目に「192.168.11.3\XXXXXXXXXX」もしくは
「127.0.0.1\XXXXXXXXXX」と入力し接続テストをすると
「プロパイダーの初期化中にエラーが発生しました」
とのエラーが表示されて接続できませんでした。
ただし「(PC名)\XXXXXXXXXX」とすると「接続できました」となり正常に接続できました。
ここまでは想定通りなのですが、
共有メモリ:有効
名前付きパイプ:有効
TCP/IP:無効
と設定しても以下のどの設定でも接続テストでは正常に接続できました。
「192.168.11.3\XXXXXXXXXX」
「127.0.0.1\XXXXXXXXXX」
「(PC名)\XXXXXXXXXX」
また、
共有メモリ:有効
名前付きパイプ:無効
TCP/IP::有効
でも、上記と同じくどの設定でも正常に接続できました。
#疑問
SQLServerの構成マネージャーで設定するTCP/IPが無効になっている場合、IPアドレス指定はブロックされ
接続できないと思っていたのですが、名前付きパイプもしくはTPC/IPのどちらかが有効になっていると
接続できてしまいます。
これはなぜなのでしょうか?
あなたの回答
tips
プレビュー