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