おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

【Error:40】SQL Serverへの接続ができないときの対策まとめ。

f:id:bookreadkun:20190513151425p:plain

 

おはようございます。おーみんです。

 

以前の記事にて、データベースを利用してログインフォームを作ったという内容を書きました。

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番目が原因なはず!