ここでは SQL Server Management Studio (SSMS) からIPアドレスで SQL Server 2019 Express に接続できない対処法について紹介します。

IPアドレスで接続できない

SQL Server 2019 Express をインストールした後、SQL Server Management Studio (SSMS) でサーバー名を「PC名\SQLEXPRESS」にした場合は接続できました。


しかし、「IPアドレス\SQLEXPRESS」で接続するとエラーが発生しました。




IPアドレスで接続できない原因

この接続エラー(provider: SQL Network Interfaces, error: 26)は、指定したインスタンスにクライアントが到達できない場合に発生するエラーです。このエラーが発生した場合は、「SQL Server Browser サービスが起動されているか」、「TCP/IP が有効になっているか」を確認します。


SQL Server Browser の起動

SQL Server 2019 Express をインストールした際、「インスタンスの構成」はデフォルトのまま「名前付きインスタンス」でインストールしました。「名前付きインスタンス」でインストールした場合、SQL Server Browser サービスの起動が必要です。SQL Server Browser は SQL Server に接続しようとするクライアントに対して「どのインスタンスがどのポートで動作しているか」を案内する役割を持つサービスです。SQL Server 2019 Express をインストールしても SQL Server Browser サービスは起動しません。まずはサービスの状態を確認します。

  • Windowsサービスを開いて「SQL Server Browser」が実行中か確認します。
    Windowsサービスは「ファイル名を指定して実行」に services.msc と入力してEnterキーを押下すると起動します。



  • 状態が「無効」になっている場合は、プロパティを開いて「スタートアップの種類」を「自動」にしてサービスを開始します。


TCP/IP の有効化

SQL Server 2019 Express をインストールしただけの状態では、TCP/IP は無効です。IPアドレスを使用した接続を行う場合は、TCP/IP が有効化されている必要があります。

  • TCP/IP の有効・無効は、レジストリで管理されています。レジストリ エディタを起動して以下のキーを確認します。
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQLServer\SuperSocketNetLib\Tcp
    Enabled
    Windowsサービスは「ファイル名を指定して実行」に regedit と入力してEnterキーを押下すると起動します。



  • Enabled を 0(無効)から 1(有効)に変更します。Enabled を 1(有効) に変更すると、SQL Server は TCP/IP を使用した通信を許可するようになります。





  • レジストリを変更したら「SQL Server (SQLEXPRESS)」サービスを再起動します。



  • 「IPアドレス\SQLEXPRESS」で接続できました。


まとめ

SQL Server Express は無償で広く利用されるため、個人や小規模環境にインストールされるケースが非常に多いことから、セキュリティ強化のため TCP/IP を無効化し、必要なユーザーだけが設定を有効化する方式が採用されています。インストール時に「名前付きインスタンス(SQLEXPRESS)」が既定であることも、管理者が明示的に設定を行うことを前提とした設計が採用されているようです。

以上、SQL Server Management Studio (SSMS) からIPアドレスで SQL Server 2019 Express に接続できない対処法について解説しました。