SQL Server のアップグレード後、アプリケーションが動作しない、他のマシンから接続できない - SQL Server

SQL Server のアップグレード後、アプリケーションが動作しない、他のマシンから接続できない現象について紹介します。

原因

いくつかの原因が考えられますが、よくある事例では、ファイアウォールの設定でSQL Server のプログラムを指定してファイアウォールの穴あけ設定をした場合、 バージョンアップにより、SQL Server のメインプログラムの位置が変わるため、ファイアウォールが未設定の状態となり、通信ができなくなる現象が発生します。

はじめに、SQL Server構成マネージャーを開き、[SQL Server のサービス]ノードを選択し、SQL Server の起動状態を確認します。 SQL Serverのサービスが起動していない場合は、別の原因の可能性ですので、SQL Serverが起動していて接続できない状態になっているかを確認します。

対処法

対策1: 新しいSQL Serverのプログラムを指定してファイアウォールを再設定する

アップグレード後のSQL Server のメインプログラムを指定してファイアウォールの穴あけ設定を再設定します。

SQL Server 2022の場合

SQL Serverのファイアウォールの設定を確認します。


設定ではプログラムを指定した設定になっており、以下のプログラムが指定されています。
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
SQL Server 2019 (MSSQL15) のSQL Serverのプログラムが指定されています。


[セキュリティが強化された Windows Defender ファイアウォール]のウィンドウの[受信の規則]のノードを選択し、 ウィンドウ右側の[操作]パネルの[新しい規則]の項目をクリックします。
下図の[新規の受信の規則ウィザード]ダイアログが表示されます。
[プログラム]のラジオボタンをクリックしてチェックをつけます。[次へ]ボタンをクリックします。


プログラムの指定画面が表示されます。[このプログラムのパス]のラジオボタンにチェックをつけ、[参照]ボタンをクリックします。


[開く]ダイアログが表示されます。SQL Server 2022のプログラムを参照します。デフォルトのインストール先では以下のパスになります。
C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn\sqlservr.exe


プログラムが選択できたら[次へ]ボタンをクリックします。


[操作]画面が表示されます。[接続を許可する]ラジオボタンをクリックしてチェックします。[次へ]ボタンをクリックします。


[プロファイル]画面が表示されます。[ドメイン][プライベート][パブリック]すべてのチェックボックスをチェックします。[次へ]ボタンをクリックします。


[名前]画面が表示されます。規則の名称を設定します。テキストボックスにわかりやすい名前を設定し[次へ]ボタンをクリックします。


規則が作成できました。


旧バージョンのSQL Serverの受信規則は削除するか、無効にします。

SQL Server 2017の場合

ファイアウォールの設定を確認します。


SQL Server の項目を確認します。接続の許可設定が、SQL Serverのプログラムを指定した設定になっていることが確認できます。


設定手順はこちらの記事を参照してください。

対策2: SQL Server のプログラムを指定するのではなく、ポートを指定してファイアウォールに穴あけをする

SQL Server のプログラムを指定するのではなく、ポート番号を指定してファイアウォールのポートを開放します。SQL Serverの既定のインスタンスであれば、TCP 1433, UDP 1434を必要に応じて開放します。デバッグ等ではTCP 135を開くこともあります。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-04-11
作成日: 2017-10-10
iPentec all rights reserverd.