【Error:40】SQL Serverへの接続ができないときの対策まとめ。
おはようございます。おーみんです。
以前の記事にて、データベースを利用してログインフォームを作ったという内容を書きました。
Visual StudioとC#でログイン画面を作った。 - おーみんだよ。
今回の記事では、その際に出会ったエラー「Error:40 - SQL Serverへの接続を開けませんでした」の対策法をまとめたいと思います。
Error:40 - SQL Serverに接続できない
このエラーはSQL Server(データベース)に接続する際に出るエラーです。対策法はいくつかありますので、以下に示していこうと思います。
実行環境は以下になります。
-------------------------
PC:Windows10
プラットフォーム:Visual Studio 2019
データベース:Microsoft SQL Server 2016
データベース管理ツール:Microsoft SQL Server Management Studio 17
-------------------------
インスタンスの状態は「実行中」になっているか?
SQL Serverの付属ツールであるSQL Server 構成マネージャーにて、「SQL Serverのサービス」→「状態」を確認してください。
名前付きインスタンス(デフォルト設定では"SQLEXPRESS")は「実行中」となっているでしょうか?
もし、この欄が"停止"となっていた場合は実行させてください。
TCP/IPは有効になっているか?
SQL Serverの付属ツールであるSQL Server 構成マネージャーにて、「SQL Server ネットワークの構成」→「SQLEXPRESS(デフォルト名)のプロトコル」→「状態」を確認してください。
TCP/IPの状態は「有効」になっているでしょうか?
もしここが「無効」となっている場合は「有効」に変えてください。
ファイアウォールは無効化になっているか?
これはあまりオススメできませんので、あくまで最終手段として行ってください(ちなみに僕は無効化せずとも接続できましたが、人によってはこれも関係しているようなので一応載せておきます)。
Windows画面の左下の検索ボックスにて、「ファイアウォール」と入力→「ファイアウォールの状態の確認」をクリック→「Windows Defender ファイアウォールの有効化または無効化」をクリックし、ファイアウォールを無効化にしてください。
そもそもSQL Server EXPRESSをインストールできているか?
と・・・ここまで3つの対策案を書きましたが、時々それでも対応出来ていない可能性があります。
そもそもSQL Server EXPRESSをインストールできていますか?
SQL Serverをインストールする際にBasicモードやカスタムモードなど選べるんですが、カスタムモードでインストールした方はもしかするとEXPRESSのインストールに失敗している可能性があります。
SQL Serverの付属ツールであるSQL Server 構成マネージャーにて、「SQL Serverのサービス」をクリックし、インスタンス一覧を確認してください。
そこに「SQL Server(SQLEXPRESS)」という名のインスタンスはあるでしょうか?
もしも「SQL Server(MSSQLSERVER)」しかないのでしたらEXPRESS版のインストールに失敗している可能性があります。
その際は最初のインストールにミスがありますので再度インストールを行ってください...。(Basicモードでインストールすれば大丈夫ですので迷った際はBasicモードで!)
最後に
ということで、SQL Serverに接続出来ない場合は以上の4点を試してみてください。
大体は1番目と2番目が原因なはず!